{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "5ba8e7be",
   "metadata": {},
   "source": [
    "# 投资矩阵"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "29b3c739",
   "metadata": {},
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "c578bc13",
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "import plotly.graph_objects as go\n",
    "import numpy as np"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "7f0808c3",
   "metadata": {},
   "outputs": [],
   "source": [
    "def extract_sankey_data(matrix_df):\n",
    "    \"\"\"将矩阵数据转换为桑基图所需的三列格式\"\"\"\n",
    "    # 获取行标签（产品名称）和列标签（行业名称）\n",
    "    # matrix_df.index = [f\"{s}_p\" for s in matrix_df.index]\n",
    "    # matrix_df.columns = [f\"{s}_i\" for s in matrix_df.columns]\n",
    "\n",
    "    products = matrix_df.index.tolist()\n",
    "\n",
    "    industries = matrix_df.columns.tolist()  # 跳过第一列（空列）\n",
    "\n",
    "    # 创建三列数据\n",
    "    sources = []\n",
    "    targets = []\n",
    "    values = []\n",
    "\n",
    "    for i, product in enumerate(products):\n",
    "        for j, industry in enumerate(industries):\n",
    "            value = matrix_df.iloc[i, j]  # j+1跳过第一列\n",
    "\n",
    "            # 跳过空值\n",
    "            if pd.isna(value):\n",
    "                continue\n",
    "\n",
    "            # 尝试将值转换为数值类型\n",
    "            try:\n",
    "                # 处理字符串类型的数值（如\"100\"）\n",
    "                if isinstance(value, str):\n",
    "                    # 移除可能的逗号和其他非数字字符\n",
    "                    clean_value = value.replace(',', '').strip()\n",
    "                    numeric_value = float(clean_value)\n",
    "                else:\n",
    "                    numeric_value = float(value)\n",
    "\n",
    "                # 只添加有效的正数值\n",
    "                if numeric_value > 0:\n",
    "                    sources.append(str(product))  # 确保产品名称为字符串\n",
    "                    targets.append(str(industry))  # 确保行业名称为字符串\n",
    "                    values.append(numeric_value)\n",
    "            except (ValueError, TypeError):\n",
    "                # 无法转换为数值，跳过此单元格\n",
    "                continue\n",
    "\n",
    "    return pd.DataFrame({\n",
    "        'Source': sources,\n",
    "        'Target': targets,\n",
    "        'Value': values\n",
    "    })\n",
    "    \n",
    "    \n",
    "def plot_sankey(data, title):\n",
    "    \"\"\"绘制桑基图并保存为HTML文件\"\"\"\n",
    "    if data.empty:\n",
    "        print(f\"警告: 没有有效数据生成桑基图 - {title}\")\n",
    "        return\n",
    "\n",
    "    # 获取所有唯一节点\n",
    "    all_nodes = list(set(data['Source'].tolist() + data['Target'].tolist()))\n",
    "\n",
    "    # 创建节点索引映射\n",
    "    node_indices = {node: i for i, node in enumerate(all_nodes)}\n",
    "\n",
    "    # 准备桑基图数据\n",
    "    fig = go.Figure(data=[go.Sankey(\n",
    "        node=dict(\n",
    "            pad=15,\n",
    "            thickness=20,\n",
    "            line=dict(width=0.5),\n",
    "            label=all_nodes,\n",
    "            color=\"steelblue\"\n",
    "        ),\n",
    "        link=dict(\n",
    "            source=[node_indices[s] for s in data['Source']],\n",
    "            target=[node_indices[t] for t in data['Target']],\n",
    "            value=data['Value']\n",
    "        ))])\n",
    "\n",
    "    # 更新布局\n",
    "    fig.update_layout(\n",
    "        title_text=title,\n",
    "        font_size=12,\n",
    "        height=700,\n",
    "        width=1000,\n",
    "        margin=dict(t=50, l=50, r=50, b=50)\n",
    "    )\n",
    "\n",
    "    return fig\n",
    "\n",
    "def load_data(file_path):\n",
    "    data = pd.read_excel(file_path, sheet_name='data', index_col=0)\n",
    "    data.index = [f\"{s}_p\" for s in data.index]\n",
    "    data.columns = [f\"{s}_i\" for s in data.columns]\n",
    "    return data\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "12d41c0c",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>农林牧渔业_i</th>\n",
       "      <th>煤炭开采和洗选业_i</th>\n",
       "      <th>石油和天然气开采业_i</th>\n",
       "      <th>黑色金属矿采选业_i</th>\n",
       "      <th>有色金属矿采选业_i</th>\n",
       "      <th>非金属矿及其他矿采选业_i</th>\n",
       "      <th>食品、饮料和酒加工业_i</th>\n",
       "      <th>烟草制品业_i</th>\n",
       "      <th>纺织业_i</th>\n",
       "      <th>纺织服装、鞋、帽制造业_i</th>\n",
       "      <th>...</th>\n",
       "      <th>建筑业_i</th>\n",
       "      <th>批发零售与餐饮业_i</th>\n",
       "      <th>运输及仓储业_i</th>\n",
       "      <th>住宿、居民服务及维修服务业_i</th>\n",
       "      <th>信息传输、软件和信息技术服务业_i</th>\n",
       "      <th>金融及保险业_i</th>\n",
       "      <th>房地产及租赁业_i</th>\n",
       "      <th>商务服务与专业技术服务业_i</th>\n",
       "      <th>广播、音像制作及娱乐业_i</th>\n",
       "      <th>教育、卫生、文体、社会服务及公共管理业_i</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>农林牧渔业_p</th>\n",
       "      <td>3094.427439</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>...</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>煤炭开采和洗选业_p</th>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>...</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>石油和天然气开采业_p</th>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>...</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>黑色金属矿采选业_p</th>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>...</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>有色金属矿采选业_p</th>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>...</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>非金属矿及其他矿采选业_p</th>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>...</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>食品、饮料和酒加工业_p</th>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>...</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>烟草制品业_p</th>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>...</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>纺织业_p</th>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>...</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>纺织服装、鞋、帽制造业_p</th>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>...</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>皮革、毛皮、羽毛（绒）及其制品业_p</th>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>...</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>木材加工及木、竹、藤、棕、草制品业_p</th>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>...</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>家具制造业_p</th>\n",
       "      <td>0.042219</td>\n",
       "      <td>14.769719</td>\n",
       "      <td>4.623987</td>\n",
       "      <td>4.443978</td>\n",
       "      <td>3.905134</td>\n",
       "      <td>5.569165</td>\n",
       "      <td>60.950596</td>\n",
       "      <td>1.312123</td>\n",
       "      <td>19.944427</td>\n",
       "      <td>11.348909</td>\n",
       "      <td>...</td>\n",
       "      <td>5.123689</td>\n",
       "      <td>90.710111</td>\n",
       "      <td>14.646818</td>\n",
       "      <td>58.024290</td>\n",
       "      <td>3.586682</td>\n",
       "      <td>11.515130</td>\n",
       "      <td>358.588984</td>\n",
       "      <td>35.172410</td>\n",
       "      <td>11.057188</td>\n",
       "      <td>283.675953</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>造纸及纸制品业_p</th>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>...</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>印刷及出版业_p</th>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>...</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>石油加工、炼焦及核燃料加工业_p</th>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>...</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>化学原料及化学制品制造业_p</th>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>...</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>医药制造业_p</th>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>...</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>化纤制造及橡胶和塑料制品业_p</th>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>...</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>非金属矿物制品业_p</th>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>...</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>黑色金属冶炼及压延加工业_p</th>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>...</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>有色金属冶炼及压延加工业_p</th>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>...</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>金属制品业_p</th>\n",
       "      <td>0.236776</td>\n",
       "      <td>28.617960</td>\n",
       "      <td>8.959486</td>\n",
       "      <td>8.610698</td>\n",
       "      <td>7.566628</td>\n",
       "      <td>10.790872</td>\n",
       "      <td>33.683125</td>\n",
       "      <td>0.725119</td>\n",
       "      <td>28.308969</td>\n",
       "      <td>16.108556</td>\n",
       "      <td>...</td>\n",
       "      <td>6.954846</td>\n",
       "      <td>45.298115</td>\n",
       "      <td>158.027224</td>\n",
       "      <td>37.321781</td>\n",
       "      <td>8.914811</td>\n",
       "      <td>9.171743</td>\n",
       "      <td>816.077033</td>\n",
       "      <td>72.369284</td>\n",
       "      <td>21.030261</td>\n",
       "      <td>539.538583</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>通用设备制造业_p</th>\n",
       "      <td>4.467194</td>\n",
       "      <td>321.770158</td>\n",
       "      <td>100.737267</td>\n",
       "      <td>96.815626</td>\n",
       "      <td>85.076468</td>\n",
       "      <td>121.328725</td>\n",
       "      <td>913.049348</td>\n",
       "      <td>19.655808</td>\n",
       "      <td>380.897233</td>\n",
       "      <td>216.740652</td>\n",
       "      <td>...</td>\n",
       "      <td>93.819201</td>\n",
       "      <td>156.731216</td>\n",
       "      <td>99.855744</td>\n",
       "      <td>79.061322</td>\n",
       "      <td>6.675946</td>\n",
       "      <td>3.903945</td>\n",
       "      <td>1663.730260</td>\n",
       "      <td>47.570150</td>\n",
       "      <td>13.347988</td>\n",
       "      <td>342.447233</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>专用设备制造业_p</th>\n",
       "      <td>6.405359</td>\n",
       "      <td>462.084997</td>\n",
       "      <td>144.665932</td>\n",
       "      <td>139.034174</td>\n",
       "      <td>122.175902</td>\n",
       "      <td>174.236741</td>\n",
       "      <td>1309.130353</td>\n",
       "      <td>28.182502</td>\n",
       "      <td>545.708281</td>\n",
       "      <td>310.522520</td>\n",
       "      <td>...</td>\n",
       "      <td>135.306527</td>\n",
       "      <td>229.538501</td>\n",
       "      <td>160.055599</td>\n",
       "      <td>115.542508</td>\n",
       "      <td>11.603164</td>\n",
       "      <td>6.219635</td>\n",
       "      <td>2421.054336</td>\n",
       "      <td>71.678271</td>\n",
       "      <td>19.876701</td>\n",
       "      <td>509.943598</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>汽车制造业_p</th>\n",
       "      <td>4.464308</td>\n",
       "      <td>403.525423</td>\n",
       "      <td>126.332562</td>\n",
       "      <td>121.414511</td>\n",
       "      <td>106.692671</td>\n",
       "      <td>152.155892</td>\n",
       "      <td>782.499778</td>\n",
       "      <td>16.845383</td>\n",
       "      <td>201.567005</td>\n",
       "      <td>114.696984</td>\n",
       "      <td>...</td>\n",
       "      <td>313.636504</td>\n",
       "      <td>1200.655086</td>\n",
       "      <td>5004.792335</td>\n",
       "      <td>392.337101</td>\n",
       "      <td>41.577609</td>\n",
       "      <td>72.195749</td>\n",
       "      <td>3777.863770</td>\n",
       "      <td>441.034077</td>\n",
       "      <td>75.674531</td>\n",
       "      <td>1941.456122</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>铁路船舶及其他交通运输设备制造业_p</th>\n",
       "      <td>1.537858</td>\n",
       "      <td>138.869268</td>\n",
       "      <td>43.476097</td>\n",
       "      <td>41.783598</td>\n",
       "      <td>36.717223</td>\n",
       "      <td>52.362939</td>\n",
       "      <td>270.903434</td>\n",
       "      <td>5.831915</td>\n",
       "      <td>70.907127</td>\n",
       "      <td>40.348040</td>\n",
       "      <td>...</td>\n",
       "      <td>106.481966</td>\n",
       "      <td>407.358978</td>\n",
       "      <td>1688.650987</td>\n",
       "      <td>134.062209</td>\n",
       "      <td>16.103224</td>\n",
       "      <td>24.788706</td>\n",
       "      <td>1316.139361</td>\n",
       "      <td>151.337559</td>\n",
       "      <td>26.174821</td>\n",
       "      <td>671.524024</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>电气机械及器材制造业_p</th>\n",
       "      <td>0.393944</td>\n",
       "      <td>143.536501</td>\n",
       "      <td>44.937278</td>\n",
       "      <td>43.187896</td>\n",
       "      <td>37.951246</td>\n",
       "      <td>54.122796</td>\n",
       "      <td>174.719252</td>\n",
       "      <td>3.761295</td>\n",
       "      <td>59.291081</td>\n",
       "      <td>33.738201</td>\n",
       "      <td>...</td>\n",
       "      <td>24.590331</td>\n",
       "      <td>135.814079</td>\n",
       "      <td>102.807381</td>\n",
       "      <td>39.351455</td>\n",
       "      <td>197.423083</td>\n",
       "      <td>25.179899</td>\n",
       "      <td>1409.863752</td>\n",
       "      <td>90.075389</td>\n",
       "      <td>17.567907</td>\n",
       "      <td>450.710702</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>计算机、通信和其他电子设备制造业_p</th>\n",
       "      <td>0.042297</td>\n",
       "      <td>34.631598</td>\n",
       "      <td>10.842188</td>\n",
       "      <td>10.420108</td>\n",
       "      <td>9.156642</td>\n",
       "      <td>13.058413</td>\n",
       "      <td>47.288729</td>\n",
       "      <td>1.018015</td>\n",
       "      <td>25.777997</td>\n",
       "      <td>14.668365</td>\n",
       "      <td>...</td>\n",
       "      <td>9.179553</td>\n",
       "      <td>97.029846</td>\n",
       "      <td>74.270658</td>\n",
       "      <td>126.963783</td>\n",
       "      <td>475.145095</td>\n",
       "      <td>16.524172</td>\n",
       "      <td>1219.856009</td>\n",
       "      <td>158.146117</td>\n",
       "      <td>58.345139</td>\n",
       "      <td>1496.864615</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>仪器仪表制造业_p</th>\n",
       "      <td>0.011384</td>\n",
       "      <td>2.819740</td>\n",
       "      <td>0.882782</td>\n",
       "      <td>0.848416</td>\n",
       "      <td>0.745543</td>\n",
       "      <td>1.063229</td>\n",
       "      <td>12.334453</td>\n",
       "      <td>0.265532</td>\n",
       "      <td>6.960712</td>\n",
       "      <td>3.960830</td>\n",
       "      <td>...</td>\n",
       "      <td>1.651635</td>\n",
       "      <td>21.363159</td>\n",
       "      <td>6.194359</td>\n",
       "      <td>5.387479</td>\n",
       "      <td>6.472965</td>\n",
       "      <td>24.238274</td>\n",
       "      <td>689.750016</td>\n",
       "      <td>33.750850</td>\n",
       "      <td>3.011011</td>\n",
       "      <td>77.248519</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>其他制造业及废品废料回收业_p</th>\n",
       "      <td>0.051022</td>\n",
       "      <td>4.543693</td>\n",
       "      <td>1.422504</td>\n",
       "      <td>1.367126</td>\n",
       "      <td>1.201359</td>\n",
       "      <td>1.713274</td>\n",
       "      <td>10.901666</td>\n",
       "      <td>0.234687</td>\n",
       "      <td>4.171432</td>\n",
       "      <td>2.373656</td>\n",
       "      <td>...</td>\n",
       "      <td>1.731361</td>\n",
       "      <td>6.601813</td>\n",
       "      <td>14.662110</td>\n",
       "      <td>3.463020</td>\n",
       "      <td>3.243736</td>\n",
       "      <td>0.880910</td>\n",
       "      <td>59.712901</td>\n",
       "      <td>4.361249</td>\n",
       "      <td>1.037264</td>\n",
       "      <td>26.611366</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>电力、热力、燃气及水的生产和供应业_p</th>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>...</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>建筑业_p</th>\n",
       "      <td>3862.298636</td>\n",
       "      <td>1689.870751</td>\n",
       "      <td>1438.781235</td>\n",
       "      <td>438.991250</td>\n",
       "      <td>424.352703</td>\n",
       "      <td>361.577646</td>\n",
       "      <td>3756.426823</td>\n",
       "      <td>61.568984</td>\n",
       "      <td>966.241232</td>\n",
       "      <td>722.255258</td>\n",
       "      <td>...</td>\n",
       "      <td>1582.745794</td>\n",
       "      <td>4217.763242</td>\n",
       "      <td>11835.595233</td>\n",
       "      <td>2235.773197</td>\n",
       "      <td>764.097179</td>\n",
       "      <td>288.715701</td>\n",
       "      <td>39383.493600</td>\n",
       "      <td>2637.820132</td>\n",
       "      <td>487.010004</td>\n",
       "      <td>18896.375773</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>批发零售与餐饮业_p</th>\n",
       "      <td>1.163471</td>\n",
       "      <td>85.809988</td>\n",
       "      <td>26.864715</td>\n",
       "      <td>25.818888</td>\n",
       "      <td>22.688278</td>\n",
       "      <td>32.356066</td>\n",
       "      <td>182.893601</td>\n",
       "      <td>3.937270</td>\n",
       "      <td>59.642748</td>\n",
       "      <td>33.938309</td>\n",
       "      <td>...</td>\n",
       "      <td>28.711196</td>\n",
       "      <td>111.075886</td>\n",
       "      <td>154.883157</td>\n",
       "      <td>56.347152</td>\n",
       "      <td>38.707759</td>\n",
       "      <td>26.931493</td>\n",
       "      <td>1212.640866</td>\n",
       "      <td>79.356533</td>\n",
       "      <td>16.074453</td>\n",
       "      <td>412.395627</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>运输及仓储业_p</th>\n",
       "      <td>0.279504</td>\n",
       "      <td>27.561968</td>\n",
       "      <td>8.628884</td>\n",
       "      <td>8.292966</td>\n",
       "      <td>7.287422</td>\n",
       "      <td>10.392693</td>\n",
       "      <td>65.903963</td>\n",
       "      <td>1.418758</td>\n",
       "      <td>28.208646</td>\n",
       "      <td>16.051470</td>\n",
       "      <td>...</td>\n",
       "      <td>10.134778</td>\n",
       "      <td>46.058097</td>\n",
       "      <td>78.061812</td>\n",
       "      <td>25.367728</td>\n",
       "      <td>16.507593</td>\n",
       "      <td>8.702870</td>\n",
       "      <td>485.612217</td>\n",
       "      <td>32.750871</td>\n",
       "      <td>6.960521</td>\n",
       "      <td>178.574571</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>住宿、居民服务及维修服务业_p</th>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>...</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>信息传输、软件和信息技术服务业_p</th>\n",
       "      <td>1.465780</td>\n",
       "      <td>130.570100</td>\n",
       "      <td>40.877859</td>\n",
       "      <td>39.286508</td>\n",
       "      <td>34.522912</td>\n",
       "      <td>49.233602</td>\n",
       "      <td>313.456562</td>\n",
       "      <td>6.747984</td>\n",
       "      <td>119.998763</td>\n",
       "      <td>68.282486</td>\n",
       "      <td>...</td>\n",
       "      <td>49.631477</td>\n",
       "      <td>189.377318</td>\n",
       "      <td>418.542016</td>\n",
       "      <td>99.548574</td>\n",
       "      <td>93.636034</td>\n",
       "      <td>25.377641</td>\n",
       "      <td>1715.967630</td>\n",
       "      <td>125.260991</td>\n",
       "      <td>29.829016</td>\n",
       "      <td>765.273677</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>金融及保险业_p</th>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>...</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>房地产及租赁业_p</th>\n",
       "      <td>0.118934</td>\n",
       "      <td>9.800831</td>\n",
       "      <td>3.068367</td>\n",
       "      <td>2.948917</td>\n",
       "      <td>2.591353</td>\n",
       "      <td>3.695564</td>\n",
       "      <td>21.193244</td>\n",
       "      <td>0.456241</td>\n",
       "      <td>8.937595</td>\n",
       "      <td>5.085729</td>\n",
       "      <td>...</td>\n",
       "      <td>2.158426</td>\n",
       "      <td>152.276167</td>\n",
       "      <td>113.331357</td>\n",
       "      <td>153.448860</td>\n",
       "      <td>19.025620</td>\n",
       "      <td>38.016761</td>\n",
       "      <td>5993.446469</td>\n",
       "      <td>389.146599</td>\n",
       "      <td>77.793777</td>\n",
       "      <td>1995.826101</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>商务服务与专业技术服务业_p</th>\n",
       "      <td>0.033621</td>\n",
       "      <td>2.737601</td>\n",
       "      <td>0.857066</td>\n",
       "      <td>0.823701</td>\n",
       "      <td>0.723825</td>\n",
       "      <td>1.032257</td>\n",
       "      <td>5.991045</td>\n",
       "      <td>0.128973</td>\n",
       "      <td>2.526539</td>\n",
       "      <td>1.437668</td>\n",
       "      <td>...</td>\n",
       "      <td>0.584907</td>\n",
       "      <td>10.458417</td>\n",
       "      <td>27.984901</td>\n",
       "      <td>23.681252</td>\n",
       "      <td>5.379611</td>\n",
       "      <td>3.879275</td>\n",
       "      <td>526.490593</td>\n",
       "      <td>51.670432</td>\n",
       "      <td>16.250255</td>\n",
       "      <td>416.905871</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>广播、音像制作及娱乐业_p</th>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>...</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>教育、卫生、文体、社会服务及公共管理业_p</th>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>...</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>42 rows × 42 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "                           农林牧渔业_i   煤炭开采和洗选业_i  石油和天然气开采业_i  黑色金属矿采选业_i  \\\n",
       "农林牧渔业_p                3094.427439     0.000000     0.000000    0.000000   \n",
       "煤炭开采和洗选业_p                0.000000     0.000000     0.000000    0.000000   \n",
       "石油和天然气开采业_p               0.000000     0.000000     0.000000    0.000000   \n",
       "黑色金属矿采选业_p                0.000000     0.000000     0.000000    0.000000   \n",
       "有色金属矿采选业_p                0.000000     0.000000     0.000000    0.000000   \n",
       "非金属矿及其他矿采选业_p             0.000000     0.000000     0.000000    0.000000   \n",
       "食品、饮料和酒加工业_p              0.000000     0.000000     0.000000    0.000000   \n",
       "烟草制品业_p                   0.000000     0.000000     0.000000    0.000000   \n",
       "纺织业_p                     0.000000     0.000000     0.000000    0.000000   \n",
       "纺织服装、鞋、帽制造业_p             0.000000     0.000000     0.000000    0.000000   \n",
       "皮革、毛皮、羽毛（绒）及其制品业_p        0.000000     0.000000     0.000000    0.000000   \n",
       "木材加工及木、竹、藤、棕、草制品业_p       0.000000     0.000000     0.000000    0.000000   \n",
       "家具制造业_p                   0.042219    14.769719     4.623987    4.443978   \n",
       "造纸及纸制品业_p                 0.000000     0.000000     0.000000    0.000000   \n",
       "印刷及出版业_p                  0.000000     0.000000     0.000000    0.000000   \n",
       "石油加工、炼焦及核燃料加工业_p          0.000000     0.000000     0.000000    0.000000   \n",
       "化学原料及化学制品制造业_p            0.000000     0.000000     0.000000    0.000000   \n",
       "医药制造业_p                   0.000000     0.000000     0.000000    0.000000   \n",
       "化纤制造及橡胶和塑料制品业_p           0.000000     0.000000     0.000000    0.000000   \n",
       "非金属矿物制品业_p                0.000000     0.000000     0.000000    0.000000   \n",
       "黑色金属冶炼及压延加工业_p            0.000000     0.000000     0.000000    0.000000   \n",
       "有色金属冶炼及压延加工业_p            0.000000     0.000000     0.000000    0.000000   \n",
       "金属制品业_p                   0.236776    28.617960     8.959486    8.610698   \n",
       "通用设备制造业_p                 4.467194   321.770158   100.737267   96.815626   \n",
       "专用设备制造业_p                 6.405359   462.084997   144.665932  139.034174   \n",
       "汽车制造业_p                   4.464308   403.525423   126.332562  121.414511   \n",
       "铁路船舶及其他交通运输设备制造业_p        1.537858   138.869268    43.476097   41.783598   \n",
       "电气机械及器材制造业_p              0.393944   143.536501    44.937278   43.187896   \n",
       "计算机、通信和其他电子设备制造业_p        0.042297    34.631598    10.842188   10.420108   \n",
       "仪器仪表制造业_p                 0.011384     2.819740     0.882782    0.848416   \n",
       "其他制造业及废品废料回收业_p           0.051022     4.543693     1.422504    1.367126   \n",
       "电力、热力、燃气及水的生产和供应业_p       0.000000     0.000000     0.000000    0.000000   \n",
       "建筑业_p                  3862.298636  1689.870751  1438.781235  438.991250   \n",
       "批发零售与餐饮业_p                1.163471    85.809988    26.864715   25.818888   \n",
       "运输及仓储业_p                  0.279504    27.561968     8.628884    8.292966   \n",
       "住宿、居民服务及维修服务业_p           0.000000     0.000000     0.000000    0.000000   \n",
       "信息传输、软件和信息技术服务业_p         1.465780   130.570100    40.877859   39.286508   \n",
       "金融及保险业_p                  0.000000     0.000000     0.000000    0.000000   \n",
       "房地产及租赁业_p                 0.118934     9.800831     3.068367    2.948917   \n",
       "商务服务与专业技术服务业_p            0.033621     2.737601     0.857066    0.823701   \n",
       "广播、音像制作及娱乐业_p             0.000000     0.000000     0.000000    0.000000   \n",
       "教育、卫生、文体、社会服务及公共管理业_p     0.000000     0.000000     0.000000    0.000000   \n",
       "\n",
       "                       有色金属矿采选业_i  非金属矿及其他矿采选业_i  食品、饮料和酒加工业_i    烟草制品业_i  \\\n",
       "农林牧渔业_p                  0.000000       0.000000      0.000000   0.000000   \n",
       "煤炭开采和洗选业_p               0.000000       0.000000      0.000000   0.000000   \n",
       "石油和天然气开采业_p              0.000000       0.000000      0.000000   0.000000   \n",
       "黑色金属矿采选业_p               0.000000       0.000000      0.000000   0.000000   \n",
       "有色金属矿采选业_p               0.000000       0.000000      0.000000   0.000000   \n",
       "非金属矿及其他矿采选业_p            0.000000       0.000000      0.000000   0.000000   \n",
       "食品、饮料和酒加工业_p             0.000000       0.000000      0.000000   0.000000   \n",
       "烟草制品业_p                  0.000000       0.000000      0.000000   0.000000   \n",
       "纺织业_p                    0.000000       0.000000      0.000000   0.000000   \n",
       "纺织服装、鞋、帽制造业_p            0.000000       0.000000      0.000000   0.000000   \n",
       "皮革、毛皮、羽毛（绒）及其制品业_p       0.000000       0.000000      0.000000   0.000000   \n",
       "木材加工及木、竹、藤、棕、草制品业_p      0.000000       0.000000      0.000000   0.000000   \n",
       "家具制造业_p                  3.905134       5.569165     60.950596   1.312123   \n",
       "造纸及纸制品业_p                0.000000       0.000000      0.000000   0.000000   \n",
       "印刷及出版业_p                 0.000000       0.000000      0.000000   0.000000   \n",
       "石油加工、炼焦及核燃料加工业_p         0.000000       0.000000      0.000000   0.000000   \n",
       "化学原料及化学制品制造业_p           0.000000       0.000000      0.000000   0.000000   \n",
       "医药制造业_p                  0.000000       0.000000      0.000000   0.000000   \n",
       "化纤制造及橡胶和塑料制品业_p          0.000000       0.000000      0.000000   0.000000   \n",
       "非金属矿物制品业_p               0.000000       0.000000      0.000000   0.000000   \n",
       "黑色金属冶炼及压延加工业_p           0.000000       0.000000      0.000000   0.000000   \n",
       "有色金属冶炼及压延加工业_p           0.000000       0.000000      0.000000   0.000000   \n",
       "金属制品业_p                  7.566628      10.790872     33.683125   0.725119   \n",
       "通用设备制造业_p               85.076468     121.328725    913.049348  19.655808   \n",
       "专用设备制造业_p              122.175902     174.236741   1309.130353  28.182502   \n",
       "汽车制造业_p                106.692671     152.155892    782.499778  16.845383   \n",
       "铁路船舶及其他交通运输设备制造业_p      36.717223      52.362939    270.903434   5.831915   \n",
       "电气机械及器材制造业_p            37.951246      54.122796    174.719252   3.761295   \n",
       "计算机、通信和其他电子设备制造业_p       9.156642      13.058413     47.288729   1.018015   \n",
       "仪器仪表制造业_p                0.745543       1.063229     12.334453   0.265532   \n",
       "其他制造业及废品废料回收业_p          1.201359       1.713274     10.901666   0.234687   \n",
       "电力、热力、燃气及水的生产和供应业_p      0.000000       0.000000      0.000000   0.000000   \n",
       "建筑业_p                  424.352703     361.577646   3756.426823  61.568984   \n",
       "批发零售与餐饮业_p              22.688278      32.356066    182.893601   3.937270   \n",
       "运输及仓储业_p                 7.287422      10.392693     65.903963   1.418758   \n",
       "住宿、居民服务及维修服务业_p          0.000000       0.000000      0.000000   0.000000   \n",
       "信息传输、软件和信息技术服务业_p       34.522912      49.233602    313.456562   6.747984   \n",
       "金融及保险业_p                 0.000000       0.000000      0.000000   0.000000   \n",
       "房地产及租赁业_p                2.591353       3.695564     21.193244   0.456241   \n",
       "商务服务与专业技术服务业_p           0.723825       1.032257      5.991045   0.128973   \n",
       "广播、音像制作及娱乐业_p            0.000000       0.000000      0.000000   0.000000   \n",
       "教育、卫生、文体、社会服务及公共管理业_p    0.000000       0.000000      0.000000   0.000000   \n",
       "\n",
       "                            纺织业_i  纺织服装、鞋、帽制造业_i  ...        建筑业_i  \\\n",
       "农林牧渔业_p                  0.000000       0.000000  ...     0.000000   \n",
       "煤炭开采和洗选业_p               0.000000       0.000000  ...     0.000000   \n",
       "石油和天然气开采业_p              0.000000       0.000000  ...     0.000000   \n",
       "黑色金属矿采选业_p               0.000000       0.000000  ...     0.000000   \n",
       "有色金属矿采选业_p               0.000000       0.000000  ...     0.000000   \n",
       "非金属矿及其他矿采选业_p            0.000000       0.000000  ...     0.000000   \n",
       "食品、饮料和酒加工业_p             0.000000       0.000000  ...     0.000000   \n",
       "烟草制品业_p                  0.000000       0.000000  ...     0.000000   \n",
       "纺织业_p                    0.000000       0.000000  ...     0.000000   \n",
       "纺织服装、鞋、帽制造业_p            0.000000       0.000000  ...     0.000000   \n",
       "皮革、毛皮、羽毛（绒）及其制品业_p       0.000000       0.000000  ...     0.000000   \n",
       "木材加工及木、竹、藤、棕、草制品业_p      0.000000       0.000000  ...     0.000000   \n",
       "家具制造业_p                 19.944427      11.348909  ...     5.123689   \n",
       "造纸及纸制品业_p                0.000000       0.000000  ...     0.000000   \n",
       "印刷及出版业_p                 0.000000       0.000000  ...     0.000000   \n",
       "石油加工、炼焦及核燃料加工业_p         0.000000       0.000000  ...     0.000000   \n",
       "化学原料及化学制品制造业_p           0.000000       0.000000  ...     0.000000   \n",
       "医药制造业_p                  0.000000       0.000000  ...     0.000000   \n",
       "化纤制造及橡胶和塑料制品业_p          0.000000       0.000000  ...     0.000000   \n",
       "非金属矿物制品业_p               0.000000       0.000000  ...     0.000000   \n",
       "黑色金属冶炼及压延加工业_p           0.000000       0.000000  ...     0.000000   \n",
       "有色金属冶炼及压延加工业_p           0.000000       0.000000  ...     0.000000   \n",
       "金属制品业_p                 28.308969      16.108556  ...     6.954846   \n",
       "通用设备制造业_p              380.897233     216.740652  ...    93.819201   \n",
       "专用设备制造业_p              545.708281     310.522520  ...   135.306527   \n",
       "汽车制造业_p                201.567005     114.696984  ...   313.636504   \n",
       "铁路船舶及其他交通运输设备制造业_p      70.907127      40.348040  ...   106.481966   \n",
       "电气机械及器材制造业_p            59.291081      33.738201  ...    24.590331   \n",
       "计算机、通信和其他电子设备制造业_p      25.777997      14.668365  ...     9.179553   \n",
       "仪器仪表制造业_p                6.960712       3.960830  ...     1.651635   \n",
       "其他制造业及废品废料回收业_p          4.171432       2.373656  ...     1.731361   \n",
       "电力、热力、燃气及水的生产和供应业_p      0.000000       0.000000  ...     0.000000   \n",
       "建筑业_p                  966.241232     722.255258  ...  1582.745794   \n",
       "批发零售与餐饮业_p              59.642748      33.938309  ...    28.711196   \n",
       "运输及仓储业_p                28.208646      16.051470  ...    10.134778   \n",
       "住宿、居民服务及维修服务业_p          0.000000       0.000000  ...     0.000000   \n",
       "信息传输、软件和信息技术服务业_p      119.998763      68.282486  ...    49.631477   \n",
       "金融及保险业_p                 0.000000       0.000000  ...     0.000000   \n",
       "房地产及租赁业_p                8.937595       5.085729  ...     2.158426   \n",
       "商务服务与专业技术服务业_p           2.526539       1.437668  ...     0.584907   \n",
       "广播、音像制作及娱乐业_p            0.000000       0.000000  ...     0.000000   \n",
       "教育、卫生、文体、社会服务及公共管理业_p    0.000000       0.000000  ...     0.000000   \n",
       "\n",
       "                        批发零售与餐饮业_i      运输及仓储业_i  住宿、居民服务及维修服务业_i  \\\n",
       "农林牧渔业_p                   0.000000      0.000000         0.000000   \n",
       "煤炭开采和洗选业_p                0.000000      0.000000         0.000000   \n",
       "石油和天然气开采业_p               0.000000      0.000000         0.000000   \n",
       "黑色金属矿采选业_p                0.000000      0.000000         0.000000   \n",
       "有色金属矿采选业_p                0.000000      0.000000         0.000000   \n",
       "非金属矿及其他矿采选业_p             0.000000      0.000000         0.000000   \n",
       "食品、饮料和酒加工业_p              0.000000      0.000000         0.000000   \n",
       "烟草制品业_p                   0.000000      0.000000         0.000000   \n",
       "纺织业_p                     0.000000      0.000000         0.000000   \n",
       "纺织服装、鞋、帽制造业_p             0.000000      0.000000         0.000000   \n",
       "皮革、毛皮、羽毛（绒）及其制品业_p        0.000000      0.000000         0.000000   \n",
       "木材加工及木、竹、藤、棕、草制品业_p       0.000000      0.000000         0.000000   \n",
       "家具制造业_p                  90.710111     14.646818        58.024290   \n",
       "造纸及纸制品业_p                 0.000000      0.000000         0.000000   \n",
       "印刷及出版业_p                  0.000000      0.000000         0.000000   \n",
       "石油加工、炼焦及核燃料加工业_p          0.000000      0.000000         0.000000   \n",
       "化学原料及化学制品制造业_p            0.000000      0.000000         0.000000   \n",
       "医药制造业_p                   0.000000      0.000000         0.000000   \n",
       "化纤制造及橡胶和塑料制品业_p           0.000000      0.000000         0.000000   \n",
       "非金属矿物制品业_p                0.000000      0.000000         0.000000   \n",
       "黑色金属冶炼及压延加工业_p            0.000000      0.000000         0.000000   \n",
       "有色金属冶炼及压延加工业_p            0.000000      0.000000         0.000000   \n",
       "金属制品业_p                  45.298115    158.027224        37.321781   \n",
       "通用设备制造业_p               156.731216     99.855744        79.061322   \n",
       "专用设备制造业_p               229.538501    160.055599       115.542508   \n",
       "汽车制造业_p                1200.655086   5004.792335       392.337101   \n",
       "铁路船舶及其他交通运输设备制造业_p      407.358978   1688.650987       134.062209   \n",
       "电气机械及器材制造业_p            135.814079    102.807381        39.351455   \n",
       "计算机、通信和其他电子设备制造业_p       97.029846     74.270658       126.963783   \n",
       "仪器仪表制造业_p                21.363159      6.194359         5.387479   \n",
       "其他制造业及废品废料回收业_p           6.601813     14.662110         3.463020   \n",
       "电力、热力、燃气及水的生产和供应业_p       0.000000      0.000000         0.000000   \n",
       "建筑业_p                  4217.763242  11835.595233      2235.773197   \n",
       "批发零售与餐饮业_p              111.075886    154.883157        56.347152   \n",
       "运输及仓储业_p                 46.058097     78.061812        25.367728   \n",
       "住宿、居民服务及维修服务业_p           0.000000      0.000000         0.000000   \n",
       "信息传输、软件和信息技术服务业_p       189.377318    418.542016        99.548574   \n",
       "金融及保险业_p                  0.000000      0.000000         0.000000   \n",
       "房地产及租赁业_p               152.276167    113.331357       153.448860   \n",
       "商务服务与专业技术服务业_p           10.458417     27.984901        23.681252   \n",
       "广播、音像制作及娱乐业_p             0.000000      0.000000         0.000000   \n",
       "教育、卫生、文体、社会服务及公共管理业_p     0.000000      0.000000         0.000000   \n",
       "\n",
       "                       信息传输、软件和信息技术服务业_i    金融及保险业_i     房地产及租赁业_i  \\\n",
       "农林牧渔业_p                         0.000000    0.000000      0.000000   \n",
       "煤炭开采和洗选业_p                      0.000000    0.000000      0.000000   \n",
       "石油和天然气开采业_p                     0.000000    0.000000      0.000000   \n",
       "黑色金属矿采选业_p                      0.000000    0.000000      0.000000   \n",
       "有色金属矿采选业_p                      0.000000    0.000000      0.000000   \n",
       "非金属矿及其他矿采选业_p                   0.000000    0.000000      0.000000   \n",
       "食品、饮料和酒加工业_p                    0.000000    0.000000      0.000000   \n",
       "烟草制品业_p                         0.000000    0.000000      0.000000   \n",
       "纺织业_p                           0.000000    0.000000      0.000000   \n",
       "纺织服装、鞋、帽制造业_p                   0.000000    0.000000      0.000000   \n",
       "皮革、毛皮、羽毛（绒）及其制品业_p              0.000000    0.000000      0.000000   \n",
       "木材加工及木、竹、藤、棕、草制品业_p             0.000000    0.000000      0.000000   \n",
       "家具制造业_p                         3.586682   11.515130    358.588984   \n",
       "造纸及纸制品业_p                       0.000000    0.000000      0.000000   \n",
       "印刷及出版业_p                        0.000000    0.000000      0.000000   \n",
       "石油加工、炼焦及核燃料加工业_p                0.000000    0.000000      0.000000   \n",
       "化学原料及化学制品制造业_p                  0.000000    0.000000      0.000000   \n",
       "医药制造业_p                         0.000000    0.000000      0.000000   \n",
       "化纤制造及橡胶和塑料制品业_p                 0.000000    0.000000      0.000000   \n",
       "非金属矿物制品业_p                      0.000000    0.000000      0.000000   \n",
       "黑色金属冶炼及压延加工业_p                  0.000000    0.000000      0.000000   \n",
       "有色金属冶炼及压延加工业_p                  0.000000    0.000000      0.000000   \n",
       "金属制品业_p                         8.914811    9.171743    816.077033   \n",
       "通用设备制造业_p                       6.675946    3.903945   1663.730260   \n",
       "专用设备制造业_p                      11.603164    6.219635   2421.054336   \n",
       "汽车制造业_p                        41.577609   72.195749   3777.863770   \n",
       "铁路船舶及其他交通运输设备制造业_p             16.103224   24.788706   1316.139361   \n",
       "电气机械及器材制造业_p                  197.423083   25.179899   1409.863752   \n",
       "计算机、通信和其他电子设备制造业_p            475.145095   16.524172   1219.856009   \n",
       "仪器仪表制造业_p                       6.472965   24.238274    689.750016   \n",
       "其他制造业及废品废料回收业_p                 3.243736    0.880910     59.712901   \n",
       "电力、热力、燃气及水的生产和供应业_p             0.000000    0.000000      0.000000   \n",
       "建筑业_p                         764.097179  288.715701  39383.493600   \n",
       "批发零售与餐饮业_p                     38.707759   26.931493   1212.640866   \n",
       "运输及仓储业_p                       16.507593    8.702870    485.612217   \n",
       "住宿、居民服务及维修服务业_p                 0.000000    0.000000      0.000000   \n",
       "信息传输、软件和信息技术服务业_p              93.636034   25.377641   1715.967630   \n",
       "金融及保险业_p                        0.000000    0.000000      0.000000   \n",
       "房地产及租赁业_p                      19.025620   38.016761   5993.446469   \n",
       "商务服务与专业技术服务业_p                  5.379611    3.879275    526.490593   \n",
       "广播、音像制作及娱乐业_p                   0.000000    0.000000      0.000000   \n",
       "教育、卫生、文体、社会服务及公共管理业_p           0.000000    0.000000      0.000000   \n",
       "\n",
       "                       商务服务与专业技术服务业_i  广播、音像制作及娱乐业_i  教育、卫生、文体、社会服务及公共管理业_i  \n",
       "农林牧渔业_p                      0.000000       0.000000               0.000000  \n",
       "煤炭开采和洗选业_p                   0.000000       0.000000               0.000000  \n",
       "石油和天然气开采业_p                  0.000000       0.000000               0.000000  \n",
       "黑色金属矿采选业_p                   0.000000       0.000000               0.000000  \n",
       "有色金属矿采选业_p                   0.000000       0.000000               0.000000  \n",
       "非金属矿及其他矿采选业_p                0.000000       0.000000               0.000000  \n",
       "食品、饮料和酒加工业_p                 0.000000       0.000000               0.000000  \n",
       "烟草制品业_p                      0.000000       0.000000               0.000000  \n",
       "纺织业_p                        0.000000       0.000000               0.000000  \n",
       "纺织服装、鞋、帽制造业_p                0.000000       0.000000               0.000000  \n",
       "皮革、毛皮、羽毛（绒）及其制品业_p           0.000000       0.000000               0.000000  \n",
       "木材加工及木、竹、藤、棕、草制品业_p          0.000000       0.000000               0.000000  \n",
       "家具制造业_p                     35.172410      11.057188             283.675953  \n",
       "造纸及纸制品业_p                    0.000000       0.000000               0.000000  \n",
       "印刷及出版业_p                     0.000000       0.000000               0.000000  \n",
       "石油加工、炼焦及核燃料加工业_p             0.000000       0.000000               0.000000  \n",
       "化学原料及化学制品制造业_p               0.000000       0.000000               0.000000  \n",
       "医药制造业_p                      0.000000       0.000000               0.000000  \n",
       "化纤制造及橡胶和塑料制品业_p              0.000000       0.000000               0.000000  \n",
       "非金属矿物制品业_p                   0.000000       0.000000               0.000000  \n",
       "黑色金属冶炼及压延加工业_p               0.000000       0.000000               0.000000  \n",
       "有色金属冶炼及压延加工业_p               0.000000       0.000000               0.000000  \n",
       "金属制品业_p                     72.369284      21.030261             539.538583  \n",
       "通用设备制造业_p                   47.570150      13.347988             342.447233  \n",
       "专用设备制造业_p                   71.678271      19.876701             509.943598  \n",
       "汽车制造业_p                    441.034077      75.674531            1941.456122  \n",
       "铁路船舶及其他交通运输设备制造业_p         151.337559      26.174821             671.524024  \n",
       "电气机械及器材制造业_p                90.075389      17.567907             450.710702  \n",
       "计算机、通信和其他电子设备制造业_p         158.146117      58.345139            1496.864615  \n",
       "仪器仪表制造业_p                   33.750850       3.011011              77.248519  \n",
       "其他制造业及废品废料回收业_p              4.361249       1.037264              26.611366  \n",
       "电力、热力、燃气及水的生产和供应业_p          0.000000       0.000000               0.000000  \n",
       "建筑业_p                     2637.820132     487.010004           18896.375773  \n",
       "批发零售与餐饮业_p                  79.356533      16.074453             412.395627  \n",
       "运输及仓储业_p                    32.750871       6.960521             178.574571  \n",
       "住宿、居民服务及维修服务业_p              0.000000       0.000000               0.000000  \n",
       "信息传输、软件和信息技术服务业_p          125.260991      29.829016             765.273677  \n",
       "金融及保险业_p                     0.000000       0.000000               0.000000  \n",
       "房地产及租赁业_p                  389.146599      77.793777            1995.826101  \n",
       "商务服务与专业技术服务业_p              51.670432      16.250255             416.905871  \n",
       "广播、音像制作及娱乐业_p                0.000000       0.000000               0.000000  \n",
       "教育、卫生、文体、社会服务及公共管理业_p        0.000000       0.000000               0.000000  \n",
       "\n",
       "[42 rows x 42 columns]"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data = load_data('./data/投资矩阵/中国2012投资矩阵cn.xlsx')\n",
    "data"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "a837213c",
   "metadata": {},
   "source": [
    "### 转换为三列"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "83e9678a",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Source</th>\n",
       "      <th>Target</th>\n",
       "      <th>Value</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>农林牧渔业_p</td>\n",
       "      <td>农林牧渔业_i</td>\n",
       "      <td>3094.427439</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>家具制造业_p</td>\n",
       "      <td>农林牧渔业_i</td>\n",
       "      <td>0.042219</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>家具制造业_p</td>\n",
       "      <td>煤炭开采和洗选业_i</td>\n",
       "      <td>14.769719</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>家具制造业_p</td>\n",
       "      <td>石油和天然气开采业_i</td>\n",
       "      <td>4.623987</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>家具制造业_p</td>\n",
       "      <td>黑色金属矿采选业_i</td>\n",
       "      <td>4.443978</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>668</th>\n",
       "      <td>商务服务与专业技术服务业_p</td>\n",
       "      <td>金融及保险业_i</td>\n",
       "      <td>3.879275</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>669</th>\n",
       "      <td>商务服务与专业技术服务业_p</td>\n",
       "      <td>房地产及租赁业_i</td>\n",
       "      <td>526.490593</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>670</th>\n",
       "      <td>商务服务与专业技术服务业_p</td>\n",
       "      <td>商务服务与专业技术服务业_i</td>\n",
       "      <td>51.670432</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>671</th>\n",
       "      <td>商务服务与专业技术服务业_p</td>\n",
       "      <td>广播、音像制作及娱乐业_i</td>\n",
       "      <td>16.250255</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>672</th>\n",
       "      <td>商务服务与专业技术服务业_p</td>\n",
       "      <td>教育、卫生、文体、社会服务及公共管理业_i</td>\n",
       "      <td>416.905871</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>673 rows × 3 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "             Source                 Target        Value\n",
       "0           农林牧渔业_p                农林牧渔业_i  3094.427439\n",
       "1           家具制造业_p                农林牧渔业_i     0.042219\n",
       "2           家具制造业_p             煤炭开采和洗选业_i    14.769719\n",
       "3           家具制造业_p            石油和天然气开采业_i     4.623987\n",
       "4           家具制造业_p             黑色金属矿采选业_i     4.443978\n",
       "..              ...                    ...          ...\n",
       "668  商务服务与专业技术服务业_p               金融及保险业_i     3.879275\n",
       "669  商务服务与专业技术服务业_p              房地产及租赁业_i   526.490593\n",
       "670  商务服务与专业技术服务业_p         商务服务与专业技术服务业_i    51.670432\n",
       "671  商务服务与专业技术服务业_p          广播、音像制作及娱乐业_i    16.250255\n",
       "672  商务服务与专业技术服务业_p  教育、卫生、文体、社会服务及公共管理业_i   416.905871\n",
       "\n",
       "[673 rows x 3 columns]"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df = extract_sankey_data(data)\n",
    "df"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "f4578eed",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(42, 42)"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data.shape"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "f9e0c4b7",
   "metadata": {},
   "source": [
    "### 绘制中国2012投资矩阵"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "a9dceb92",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "application/vnd.plotly.v1+json": {
       "config": {
        "plotlyServerURL": "https://plot.ly"
       },
       "data": [
        {
         "link": {
          "source": [
           20,
           20,
           20,
           20,
           20,
           20,
           19,
           19,
           19,
           19,
           19,
           19,
           7,
           7,
           7,
           7,
           7,
           7,
           6,
           6,
           6,
           6,
           6,
           6,
           4,
           4,
           4,
           4,
           4,
           4,
           16,
           16,
           16,
           16,
           16,
           16,
           5,
           5,
           5,
           5,
           5,
           5,
           10,
           10,
           10,
           10,
           10,
           10,
           0,
           0,
           0,
           0,
           0,
           0,
           2,
           2,
           2,
           2,
           2,
           2,
           14,
           14,
           14,
           14,
           14,
           14,
           8,
           8,
           8,
           8,
           8,
           8,
           1,
           1,
           1,
           1,
           1,
           1,
           18,
           18,
           18,
           18,
           18,
           18,
           9,
           9,
           9,
           9,
           9,
           9,
           13,
           13,
           13,
           13,
           13,
           13
          ],
          "target": [
           3,
           12,
           17,
           21,
           15,
           11,
           3,
           12,
           17,
           21,
           15,
           11,
           3,
           12,
           17,
           21,
           15,
           11,
           3,
           12,
           17,
           21,
           15,
           11,
           3,
           12,
           17,
           21,
           15,
           11,
           3,
           12,
           17,
           21,
           15,
           11,
           3,
           12,
           17,
           21,
           15,
           11,
           3,
           12,
           17,
           21,
           15,
           11,
           3,
           12,
           17,
           21,
           15,
           11,
           3,
           12,
           17,
           21,
           15,
           11,
           3,
           12,
           17,
           21,
           15,
           11,
           3,
           12,
           17,
           21,
           15,
           11,
           3,
           12,
           17,
           21,
           15,
           11,
           3,
           12,
           17,
           21,
           15,
           11,
           3,
           12,
           17,
           21,
           15,
           11,
           3,
           12,
           17,
           21,
           15,
           11
          ],
          "value": {
           "bdata": "ioymZIaxDECz0MsXvwcnQFq7THpsaXZAuuBdhhGWQUCC2e+zRx0mQF9uEbTQunFAxd3pJWLUIUAB0Rm/7lciQNudb8OdgIlAapreWaIXUkDAJmYxvwc1QCCYZARP3IBA24sPRiu0GkBK8XTARzsPQBoIXcnr/plAaagJsPrIR0BbEsiIK7IqQIkzFN4nZ3VAzGH25dE0J0B1e1gI6OAYQO3249Eb6qJAkXY1y2jrUUD/XyB4b+AzQPgxJfoY339AdPvNFu/JRECae6UohwxSQBlPBUC6g61AaK5QlIuQe0BTYSqEK+tSQMMlqxHTVZ5AeDQF6mwaMEAN8Q2p6Mk4QFqvwrSOkJRAUeWOSM3qYkCn/NkJwSw6QMsmYDMx/IRAVkJv5YmtaECCiEPWDS45QG2Mcnt0B5ZAxxWTK9OEVkCY+DBeYpExQGCJiglfK3xA7xVxT1KyfUDSi/0qMIYwQOsPiY1sD5NAKazg/KzEY0CpDMaFLSxNQHFht111Y5dACmQC+lDkGUDIjL6G/zw4QMpacQgAjoVAFdqU1hvgQEDNRFzdjBYIQFAg9r3nT1NA/9ASHSzzCUBkIJ+eajDsP4YgTVRA201Atr7tQ+txEUBUNdkzopjwP0Xby4CCnDpAJeOuBcfgh0DLJkyDcwtyQGTeksvvOuNA7CBd6KObpEBxHzX6KHB+QFKuqwwYdNJAo1Rx2JdaQ0CLpbdLdu46QAMjFT+Q8pJA8xmJcNHWU0CFFjBeDxMwQNiL5nxUxnlAgiTYlvGBMEAYblWI3mchQNojVKTLWX5AxFzpiBxgQEAwib7rktcbQKBBveFiUmZArU7UybRoV0DD+bAMrWA5QFoyfdrez5pAE+zKE7RQX0AJwuhrOtQ9QFcRZn0w6odASs5GAI8GM0DlqJM1JQJDQFL50UtyabdAYTHOd1hSeEAX7yk9zXJTQPYwd+1NL59AMrYJ0biEFUBIC+pAwQgPQBRx4bvsc4BAVKZet9DVSUAOqZ2vEEAwQNtV83J+DnpA",
           "dtype": "f8"
          }
         },
         "node": {
          "color": "steelblue",
          "label": [
           "仪器仪表制造业_p",
           "运输及仓储业_p",
           "其他制造业及废品废料回收业_p",
           "信息传输、软件和信息技术服务业_i",
           "汽车制造业_p",
           "电气机械及器材制造业_p",
           "专用设备制造业_p",
           "通用设备制造业_p",
           "批发零售与餐饮业_p",
           "房地产及租赁业_p",
           "计算机、通信和其他电子设备制造业_p",
           "教育、卫生、文体、社会服务及公共管理业_i",
           "金融及保险业_i",
           "商务服务与专业技术服务业_p",
           "建筑业_p",
           "广播、音像制作及娱乐业_i",
           "铁路船舶及其他交通运输设备制造业_p",
           "房地产及租赁业_i",
           "信息传输、软件和信息技术服务业_p",
           "金属制品业_p",
           "家具制造业_p",
           "商务服务与专业技术服务业_i"
          ],
          "line": {
           "width": 0.5
          },
          "pad": 15,
          "thickness": 20
         },
         "type": "sankey"
        }
       ],
       "layout": {
        "font": {
         "size": 12
        },
        "height": 700,
        "margin": {
         "b": 50,
         "l": 50,
         "r": 50,
         "t": 50
        },
        "template": {
         "data": {
          "bar": [
           {
            "error_x": {
             "color": "#2a3f5f"
            },
            "error_y": {
             "color": "#2a3f5f"
            },
            "marker": {
             "line": {
              "color": "#E5ECF6",
              "width": 0.5
             },
             "pattern": {
              "fillmode": "overlay",
              "size": 10,
              "solidity": 0.2
             }
            },
            "type": "bar"
           }
          ],
          "barpolar": [
           {
            "marker": {
             "line": {
              "color": "#E5ECF6",
              "width": 0.5
             },
             "pattern": {
              "fillmode": "overlay",
              "size": 10,
              "solidity": 0.2
             }
            },
            "type": "barpolar"
           }
          ],
          "carpet": [
           {
            "aaxis": {
             "endlinecolor": "#2a3f5f",
             "gridcolor": "white",
             "linecolor": "white",
             "minorgridcolor": "white",
             "startlinecolor": "#2a3f5f"
            },
            "baxis": {
             "endlinecolor": "#2a3f5f",
             "gridcolor": "white",
             "linecolor": "white",
             "minorgridcolor": "white",
             "startlinecolor": "#2a3f5f"
            },
            "type": "carpet"
           }
          ],
          "choropleth": [
           {
            "colorbar": {
             "outlinewidth": 0,
             "ticks": ""
            },
            "type": "choropleth"
           }
          ],
          "contour": [
           {
            "colorbar": {
             "outlinewidth": 0,
             "ticks": ""
            },
            "colorscale": [
             [
              0,
              "#0d0887"
             ],
             [
              0.1111111111111111,
              "#46039f"
             ],
             [
              0.2222222222222222,
              "#7201a8"
             ],
             [
              0.3333333333333333,
              "#9c179e"
             ],
             [
              0.4444444444444444,
              "#bd3786"
             ],
             [
              0.5555555555555556,
              "#d8576b"
             ],
             [
              0.6666666666666666,
              "#ed7953"
             ],
             [
              0.7777777777777778,
              "#fb9f3a"
             ],
             [
              0.8888888888888888,
              "#fdca26"
             ],
             [
              1,
              "#f0f921"
             ]
            ],
            "type": "contour"
           }
          ],
          "contourcarpet": [
           {
            "colorbar": {
             "outlinewidth": 0,
             "ticks": ""
            },
            "type": "contourcarpet"
           }
          ],
          "heatmap": [
           {
            "colorbar": {
             "outlinewidth": 0,
             "ticks": ""
            },
            "colorscale": [
             [
              0,
              "#0d0887"
             ],
             [
              0.1111111111111111,
              "#46039f"
             ],
             [
              0.2222222222222222,
              "#7201a8"
             ],
             [
              0.3333333333333333,
              "#9c179e"
             ],
             [
              0.4444444444444444,
              "#bd3786"
             ],
             [
              0.5555555555555556,
              "#d8576b"
             ],
             [
              0.6666666666666666,
              "#ed7953"
             ],
             [
              0.7777777777777778,
              "#fb9f3a"
             ],
             [
              0.8888888888888888,
              "#fdca26"
             ],
             [
              1,
              "#f0f921"
             ]
            ],
            "type": "heatmap"
           }
          ],
          "histogram": [
           {
            "marker": {
             "pattern": {
              "fillmode": "overlay",
              "size": 10,
              "solidity": 0.2
             }
            },
            "type": "histogram"
           }
          ],
          "histogram2d": [
           {
            "colorbar": {
             "outlinewidth": 0,
             "ticks": ""
            },
            "colorscale": [
             [
              0,
              "#0d0887"
             ],
             [
              0.1111111111111111,
              "#46039f"
             ],
             [
              0.2222222222222222,
              "#7201a8"
             ],
             [
              0.3333333333333333,
              "#9c179e"
             ],
             [
              0.4444444444444444,
              "#bd3786"
             ],
             [
              0.5555555555555556,
              "#d8576b"
             ],
             [
              0.6666666666666666,
              "#ed7953"
             ],
             [
              0.7777777777777778,
              "#fb9f3a"
             ],
             [
              0.8888888888888888,
              "#fdca26"
             ],
             [
              1,
              "#f0f921"
             ]
            ],
            "type": "histogram2d"
           }
          ],
          "histogram2dcontour": [
           {
            "colorbar": {
             "outlinewidth": 0,
             "ticks": ""
            },
            "colorscale": [
             [
              0,
              "#0d0887"
             ],
             [
              0.1111111111111111,
              "#46039f"
             ],
             [
              0.2222222222222222,
              "#7201a8"
             ],
             [
              0.3333333333333333,
              "#9c179e"
             ],
             [
              0.4444444444444444,
              "#bd3786"
             ],
             [
              0.5555555555555556,
              "#d8576b"
             ],
             [
              0.6666666666666666,
              "#ed7953"
             ],
             [
              0.7777777777777778,
              "#fb9f3a"
             ],
             [
              0.8888888888888888,
              "#fdca26"
             ],
             [
              1,
              "#f0f921"
             ]
            ],
            "type": "histogram2dcontour"
           }
          ],
          "mesh3d": [
           {
            "colorbar": {
             "outlinewidth": 0,
             "ticks": ""
            },
            "type": "mesh3d"
           }
          ],
          "parcoords": [
           {
            "line": {
             "colorbar": {
              "outlinewidth": 0,
              "ticks": ""
             }
            },
            "type": "parcoords"
           }
          ],
          "pie": [
           {
            "automargin": true,
            "type": "pie"
           }
          ],
          "scatter": [
           {
            "fillpattern": {
             "fillmode": "overlay",
             "size": 10,
             "solidity": 0.2
            },
            "type": "scatter"
           }
          ],
          "scatter3d": [
           {
            "line": {
             "colorbar": {
              "outlinewidth": 0,
              "ticks": ""
             }
            },
            "marker": {
             "colorbar": {
              "outlinewidth": 0,
              "ticks": ""
             }
            },
            "type": "scatter3d"
           }
          ],
          "scattercarpet": [
           {
            "marker": {
             "colorbar": {
              "outlinewidth": 0,
              "ticks": ""
             }
            },
            "type": "scattercarpet"
           }
          ],
          "scattergeo": [
           {
            "marker": {
             "colorbar": {
              "outlinewidth": 0,
              "ticks": ""
             }
            },
            "type": "scattergeo"
           }
          ],
          "scattergl": [
           {
            "marker": {
             "colorbar": {
              "outlinewidth": 0,
              "ticks": ""
             }
            },
            "type": "scattergl"
           }
          ],
          "scattermap": [
           {
            "marker": {
             "colorbar": {
              "outlinewidth": 0,
              "ticks": ""
             }
            },
            "type": "scattermap"
           }
          ],
          "scattermapbox": [
           {
            "marker": {
             "colorbar": {
              "outlinewidth": 0,
              "ticks": ""
             }
            },
            "type": "scattermapbox"
           }
          ],
          "scatterpolar": [
           {
            "marker": {
             "colorbar": {
              "outlinewidth": 0,
              "ticks": ""
             }
            },
            "type": "scatterpolar"
           }
          ],
          "scatterpolargl": [
           {
            "marker": {
             "colorbar": {
              "outlinewidth": 0,
              "ticks": ""
             }
            },
            "type": "scatterpolargl"
           }
          ],
          "scatterternary": [
           {
            "marker": {
             "colorbar": {
              "outlinewidth": 0,
              "ticks": ""
             }
            },
            "type": "scatterternary"
           }
          ],
          "surface": [
           {
            "colorbar": {
             "outlinewidth": 0,
             "ticks": ""
            },
            "colorscale": [
             [
              0,
              "#0d0887"
             ],
             [
              0.1111111111111111,
              "#46039f"
             ],
             [
              0.2222222222222222,
              "#7201a8"
             ],
             [
              0.3333333333333333,
              "#9c179e"
             ],
             [
              0.4444444444444444,
              "#bd3786"
             ],
             [
              0.5555555555555556,
              "#d8576b"
             ],
             [
              0.6666666666666666,
              "#ed7953"
             ],
             [
              0.7777777777777778,
              "#fb9f3a"
             ],
             [
              0.8888888888888888,
              "#fdca26"
             ],
             [
              1,
              "#f0f921"
             ]
            ],
            "type": "surface"
           }
          ],
          "table": [
           {
            "cells": {
             "fill": {
              "color": "#EBF0F8"
             },
             "line": {
              "color": "white"
             }
            },
            "header": {
             "fill": {
              "color": "#C8D4E3"
             },
             "line": {
              "color": "white"
             }
            },
            "type": "table"
           }
          ]
         },
         "layout": {
          "annotationdefaults": {
           "arrowcolor": "#2a3f5f",
           "arrowhead": 0,
           "arrowwidth": 1
          },
          "autotypenumbers": "strict",
          "coloraxis": {
           "colorbar": {
            "outlinewidth": 0,
            "ticks": ""
           }
          },
          "colorscale": {
           "diverging": [
            [
             0,
             "#8e0152"
            ],
            [
             0.1,
             "#c51b7d"
            ],
            [
             0.2,
             "#de77ae"
            ],
            [
             0.3,
             "#f1b6da"
            ],
            [
             0.4,
             "#fde0ef"
            ],
            [
             0.5,
             "#f7f7f7"
            ],
            [
             0.6,
             "#e6f5d0"
            ],
            [
             0.7,
             "#b8e186"
            ],
            [
             0.8,
             "#7fbc41"
            ],
            [
             0.9,
             "#4d9221"
            ],
            [
             1,
             "#276419"
            ]
           ],
           "sequential": [
            [
             0,
             "#0d0887"
            ],
            [
             0.1111111111111111,
             "#46039f"
            ],
            [
             0.2222222222222222,
             "#7201a8"
            ],
            [
             0.3333333333333333,
             "#9c179e"
            ],
            [
             0.4444444444444444,
             "#bd3786"
            ],
            [
             0.5555555555555556,
             "#d8576b"
            ],
            [
             0.6666666666666666,
             "#ed7953"
            ],
            [
             0.7777777777777778,
             "#fb9f3a"
            ],
            [
             0.8888888888888888,
             "#fdca26"
            ],
            [
             1,
             "#f0f921"
            ]
           ],
           "sequentialminus": [
            [
             0,
             "#0d0887"
            ],
            [
             0.1111111111111111,
             "#46039f"
            ],
            [
             0.2222222222222222,
             "#7201a8"
            ],
            [
             0.3333333333333333,
             "#9c179e"
            ],
            [
             0.4444444444444444,
             "#bd3786"
            ],
            [
             0.5555555555555556,
             "#d8576b"
            ],
            [
             0.6666666666666666,
             "#ed7953"
            ],
            [
             0.7777777777777778,
             "#fb9f3a"
            ],
            [
             0.8888888888888888,
             "#fdca26"
            ],
            [
             1,
             "#f0f921"
            ]
           ]
          },
          "colorway": [
           "#636efa",
           "#EF553B",
           "#00cc96",
           "#ab63fa",
           "#FFA15A",
           "#19d3f3",
           "#FF6692",
           "#B6E880",
           "#FF97FF",
           "#FECB52"
          ],
          "font": {
           "color": "#2a3f5f"
          },
          "geo": {
           "bgcolor": "white",
           "lakecolor": "white",
           "landcolor": "#E5ECF6",
           "showlakes": true,
           "showland": true,
           "subunitcolor": "white"
          },
          "hoverlabel": {
           "align": "left"
          },
          "hovermode": "closest",
          "mapbox": {
           "style": "light"
          },
          "paper_bgcolor": "white",
          "plot_bgcolor": "#E5ECF6",
          "polar": {
           "angularaxis": {
            "gridcolor": "white",
            "linecolor": "white",
            "ticks": ""
           },
           "bgcolor": "#E5ECF6",
           "radialaxis": {
            "gridcolor": "white",
            "linecolor": "white",
            "ticks": ""
           }
          },
          "scene": {
           "xaxis": {
            "backgroundcolor": "#E5ECF6",
            "gridcolor": "white",
            "gridwidth": 2,
            "linecolor": "white",
            "showbackground": true,
            "ticks": "",
            "zerolinecolor": "white"
           },
           "yaxis": {
            "backgroundcolor": "#E5ECF6",
            "gridcolor": "white",
            "gridwidth": 2,
            "linecolor": "white",
            "showbackground": true,
            "ticks": "",
            "zerolinecolor": "white"
           },
           "zaxis": {
            "backgroundcolor": "#E5ECF6",
            "gridcolor": "white",
            "gridwidth": 2,
            "linecolor": "white",
            "showbackground": true,
            "ticks": "",
            "zerolinecolor": "white"
           }
          },
          "shapedefaults": {
           "line": {
            "color": "#2a3f5f"
           }
          },
          "ternary": {
           "aaxis": {
            "gridcolor": "white",
            "linecolor": "white",
            "ticks": ""
           },
           "baxis": {
            "gridcolor": "white",
            "linecolor": "white",
            "ticks": ""
           },
           "bgcolor": "#E5ECF6",
           "caxis": {
            "gridcolor": "white",
            "linecolor": "white",
            "ticks": ""
           }
          },
          "title": {
           "x": 0.05
          },
          "xaxis": {
           "automargin": true,
           "gridcolor": "white",
           "linecolor": "white",
           "ticks": "",
           "title": {
            "standoff": 15
           },
           "zerolinecolor": "white",
           "zerolinewidth": 2
          },
          "yaxis": {
           "automargin": true,
           "gridcolor": "white",
           "linecolor": "white",
           "ticks": "",
           "title": {
            "standoff": 15
           },
           "zerolinecolor": "white",
           "zerolinewidth": 2
          }
         }
        },
        "title": {
         "text": "中国2012投资矩阵(左：投资品供给->右：各部门投资需求)"
        },
        "width": 1000
       }
      }
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig = plot_sankey(extract_sankey_data(data.iloc[:,36:]), '中国2012投资矩阵(左：投资品供给->右：各部门投资需求)')\n",
    "fig"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "052bee1f",
   "metadata": {},
   "outputs": [],
   "source": [
    "fig.write_html(\"../中国2012投资矩阵.html\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "cc363e22",
   "metadata": {},
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "f9530895",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "application/vnd.plotly.v1+json": {
       "config": {
        "plotlyServerURL": "https://plot.ly"
       },
       "data": [
        {
         "link": {
          "source": [
           67,
           67,
           70,
           70,
           70,
           70,
           28,
           28,
           28,
           28,
           28,
           28,
           28,
           28,
           28,
           28,
           28,
           28,
           28,
           28,
           28,
           28,
           28,
           28,
           28,
           28,
           28,
           28,
           28,
           28,
           28,
           28,
           28,
           28,
           28,
           28,
           28,
           28,
           28,
           28,
           28,
           28,
           28,
           28,
           28,
           28,
           28,
           28,
           28,
           28,
           28,
           28,
           28,
           28,
           28,
           28,
           28,
           28,
           28,
           28,
           28,
           28,
           28,
           28,
           28,
           8,
           8,
           8,
           8,
           8,
           8,
           8,
           8,
           8,
           8,
           8,
           8,
           8,
           8,
           8,
           8,
           8,
           8,
           8,
           8,
           8,
           8,
           8,
           8,
           8,
           8,
           8,
           8,
           8,
           8,
           8,
           8,
           8,
           8,
           8,
           8,
           8,
           8,
           8,
           8,
           8,
           8,
           8,
           8,
           8,
           8,
           8,
           82,
           82,
           82,
           82,
           82,
           82,
           82,
           82,
           82,
           82,
           82,
           82,
           82,
           82,
           82,
           82,
           82,
           82,
           82,
           82,
           82,
           82,
           82,
           82,
           82,
           82,
           82,
           82,
           82,
           82,
           82,
           82,
           82,
           82,
           82,
           82,
           82,
           82,
           82,
           82,
           82,
           82,
           82,
           82,
           82,
           82,
           82,
           82,
           82,
           82,
           82,
           82,
           82,
           82,
           82,
           82,
           82,
           82,
           82,
           23,
           23,
           23,
           23,
           23,
           23,
           23,
           23,
           23,
           23,
           23,
           23,
           23,
           23,
           23,
           23,
           23,
           23,
           23,
           23,
           23,
           23,
           23,
           23,
           23,
           23,
           23,
           23,
           23,
           23,
           23,
           23,
           23,
           23,
           23,
           23,
           23,
           23,
           23,
           23,
           23,
           23,
           23,
           23,
           23,
           23,
           23,
           23,
           23,
           23,
           23,
           23,
           23,
           23,
           23,
           23,
           23,
           23,
           23,
           78,
           78,
           78,
           78,
           78,
           78,
           78,
           78,
           78,
           78,
           78,
           78,
           78,
           78,
           78,
           78,
           78,
           78,
           78,
           78,
           78,
           78,
           78,
           78,
           78,
           78,
           78,
           78,
           78,
           78,
           78,
           78,
           78,
           78,
           78,
           78,
           78,
           78,
           78,
           78,
           78,
           78,
           78,
           78,
           78,
           78,
           78,
           78,
           78,
           78,
           78,
           78,
           78,
           78,
           78,
           78,
           78,
           78,
           78,
           42,
           42,
           42,
           42,
           42,
           42,
           42,
           42,
           42,
           42,
           42,
           42,
           42,
           42,
           42,
           42,
           42,
           42,
           42,
           42,
           42,
           42,
           42,
           42,
           42,
           42,
           42,
           42,
           42,
           42,
           42,
           42,
           42,
           42,
           42,
           42,
           42,
           42,
           42,
           42,
           42,
           42,
           42,
           42,
           42,
           42,
           42,
           42,
           42,
           42,
           42,
           42,
           42,
           42,
           42,
           42,
           42,
           42,
           42,
           24,
           24,
           24,
           24,
           24,
           24,
           24,
           24,
           24,
           24,
           24,
           24,
           24,
           24,
           24,
           24,
           24,
           24,
           24,
           24,
           24,
           24,
           24,
           24,
           24,
           24,
           24,
           24,
           24,
           24,
           24,
           24,
           24,
           24,
           24,
           24,
           24,
           24,
           24,
           24,
           24,
           24,
           24,
           24,
           24,
           24,
           24,
           24,
           24,
           24,
           24,
           24,
           24,
           24,
           24,
           24,
           24,
           24,
           24,
           2,
           2,
           2,
           2,
           2,
           2,
           2,
           2,
           2,
           2,
           2,
           2,
           2,
           2,
           2,
           2,
           2,
           2,
           2,
           2,
           2,
           2,
           2,
           2,
           2,
           2,
           2,
           2,
           2,
           2,
           2,
           2,
           2,
           2,
           2,
           2,
           2,
           2,
           2,
           2,
           2,
           2,
           2,
           2,
           2,
           2,
           2,
           2,
           2,
           2,
           2,
           2,
           2,
           2,
           2,
           2,
           2,
           2,
           2,
           53,
           53,
           53,
           53,
           53,
           53,
           53,
           53,
           53,
           53,
           53,
           53,
           53,
           53,
           53,
           53,
           53,
           53,
           53,
           53,
           53,
           53,
           53,
           53,
           53,
           53,
           53,
           53,
           53,
           53,
           53,
           53,
           53,
           53,
           53,
           53,
           53,
           53,
           53,
           53,
           53,
           53,
           53,
           53,
           53,
           53,
           53,
           53,
           53,
           53,
           53,
           53,
           53,
           53,
           53,
           53,
           53,
           53,
           38,
           38,
           38,
           38,
           38,
           38,
           38,
           38,
           38,
           38,
           38,
           38,
           38,
           38,
           38,
           38,
           38,
           38,
           38,
           38,
           38,
           38,
           38,
           38,
           38,
           38,
           38,
           38,
           38,
           38,
           38,
           38,
           38,
           38,
           38,
           38,
           38,
           38,
           38,
           38,
           38,
           38,
           38,
           38,
           38,
           38,
           38,
           38,
           38,
           38,
           38,
           38,
           38,
           38,
           38,
           38,
           38,
           38,
           38,
           71,
           71,
           71,
           71,
           71,
           71,
           71,
           71,
           71,
           71,
           71,
           71,
           71,
           71,
           71,
           71,
           71,
           71,
           71,
           71,
           71,
           71,
           71,
           71,
           71,
           71,
           71,
           71,
           71,
           71,
           71,
           71,
           71,
           71,
           71,
           71,
           71,
           71,
           71,
           71,
           71,
           71,
           71,
           71,
           71,
           71,
           71,
           71,
           71,
           71,
           71,
           71,
           71,
           71,
           71,
           71,
           71,
           71,
           71,
           66,
           66,
           66,
           66,
           66,
           66,
           66,
           66,
           66,
           66,
           66,
           66,
           66,
           66,
           66,
           66,
           66,
           66,
           66,
           66,
           66,
           66,
           66,
           66,
           66,
           66,
           66,
           66,
           66,
           66,
           66,
           66,
           66,
           66,
           66,
           66,
           66,
           66,
           66,
           66,
           66,
           66,
           66,
           66,
           66,
           66,
           66,
           66,
           66,
           66,
           66,
           66,
           66,
           66,
           66,
           66,
           66,
           66,
           10,
           10,
           10,
           10,
           10,
           10,
           10,
           10,
           10,
           10,
           10,
           10,
           10,
           10,
           10,
           10,
           10,
           10,
           10,
           10,
           10,
           10,
           10,
           10,
           10,
           10,
           10,
           10,
           10,
           10,
           10,
           10,
           10,
           10,
           10,
           10,
           10,
           10,
           10,
           10,
           10,
           10,
           10,
           10,
           10,
           10,
           10,
           10,
           10,
           10,
           10,
           10,
           10,
           10,
           10,
           10,
           10,
           10,
           10,
           22,
           22,
           22,
           22,
           22,
           22,
           22,
           22,
           22,
           22,
           22,
           22,
           22,
           22,
           22,
           22,
           22,
           22,
           22,
           22,
           22,
           22,
           22,
           22,
           22,
           22,
           22,
           22,
           22,
           22,
           22,
           22,
           22,
           22,
           22,
           22,
           22,
           22,
           22,
           22,
           22,
           22,
           22,
           22,
           22,
           22,
           22,
           22,
           22,
           22,
           22,
           22,
           22,
           22,
           22,
           22,
           22,
           22,
           22,
           43,
           43,
           43,
           43,
           43,
           43,
           43,
           43,
           43,
           43,
           43,
           43,
           43,
           43,
           43,
           43,
           43,
           43,
           43,
           43,
           43,
           43,
           43,
           43,
           43,
           43,
           43,
           43,
           43,
           43,
           43,
           43,
           43,
           43,
           43,
           43,
           43,
           43,
           43,
           43,
           43,
           43,
           43,
           43,
           43,
           43,
           43,
           43,
           43,
           43,
           43,
           43,
           43,
           34,
           34,
           34,
           34,
           34,
           34,
           34,
           34,
           34,
           34,
           34,
           34,
           34,
           34,
           34,
           34,
           34,
           34,
           34,
           34,
           34,
           34,
           34,
           34,
           34,
           34,
           34,
           34,
           34,
           34,
           34,
           34,
           34,
           34,
           34,
           34,
           34,
           34,
           34,
           34,
           34,
           34,
           34,
           34,
           34,
           34,
           34,
           34,
           34,
           34,
           34,
           34,
           34,
           34,
           34,
           34,
           34,
           34,
           34,
           47,
           47,
           47,
           47,
           47,
           47,
           47,
           47,
           47,
           47,
           47,
           47,
           47,
           47,
           47,
           47,
           47,
           47,
           47,
           47,
           47,
           47,
           47,
           47,
           47,
           47,
           47,
           47,
           47,
           47,
           47,
           47,
           47,
           47,
           47,
           47,
           47,
           47,
           47,
           47,
           47,
           47,
           47,
           47,
           47,
           47,
           47,
           47,
           47,
           47,
           47,
           47,
           47,
           47,
           47,
           47,
           47,
           47,
           47,
           33,
           33,
           33,
           33,
           33,
           33,
           33,
           33,
           33,
           33,
           33,
           33,
           33,
           33,
           33,
           33,
           33,
           33,
           33,
           33,
           33,
           33,
           33,
           33,
           33,
           33,
           33,
           33,
           33,
           33,
           33,
           33,
           33,
           33,
           33,
           33,
           33,
           33,
           33,
           33,
           33,
           33,
           33,
           33,
           33,
           33,
           33,
           33,
           33,
           33,
           33,
           33,
           33,
           33,
           33,
           81,
           81,
           81,
           81,
           81,
           81,
           81,
           81,
           81,
           81,
           81,
           81,
           81,
           81,
           81,
           81,
           81,
           81,
           81,
           81,
           81,
           81,
           81,
           81,
           81,
           81,
           81,
           81,
           81,
           81,
           81,
           81,
           81,
           81,
           81,
           81,
           81,
           81,
           81,
           81,
           81,
           81,
           81,
           81,
           81,
           81,
           81,
           81,
           81,
           81,
           81,
           81,
           81,
           81,
           81,
           81,
           81,
           81,
           81,
           13,
           13,
           13,
           13,
           13,
           13,
           13,
           13,
           13,
           13,
           13,
           13,
           13,
           13,
           13,
           13,
           13,
           13,
           13,
           13,
           13,
           13,
           13,
           13,
           13,
           13,
           13,
           13,
           13,
           13,
           13,
           13,
           13,
           13,
           13,
           13,
           13,
           13,
           13,
           13,
           13,
           13,
           13,
           13,
           13,
           13,
           13,
           13,
           13,
           13,
           13,
           13,
           13,
           13,
           13,
           13,
           13,
           13,
           13,
           58,
           58,
           58,
           58,
           58,
           58,
           58,
           58,
           58,
           58,
           58,
           58,
           58,
           58,
           58,
           58,
           58,
           58,
           58,
           58,
           58,
           58,
           58,
           58,
           58,
           58,
           58,
           58,
           58,
           58,
           58,
           58,
           58,
           58,
           58,
           58,
           58,
           58,
           58,
           58,
           58,
           58,
           58,
           58,
           58,
           58,
           58,
           58,
           58,
           58,
           58,
           58,
           58,
           58,
           58,
           58,
           58,
           58,
           58,
           5,
           5,
           5,
           5,
           5,
           5,
           5,
           5,
           5,
           5,
           5,
           5,
           5,
           5,
           5,
           5,
           5,
           5,
           5,
           5,
           5,
           5,
           5,
           5,
           5,
           5,
           5,
           5,
           5,
           5,
           5,
           5,
           5,
           5,
           3
          ],
          "target": [
           40,
           64,
           40,
           48,
           45,
           77,
           40,
           76,
           46,
           65,
           29,
           59,
           75,
           9,
           4,
           41,
           14,
           55,
           25,
           0,
           12,
           19,
           83,
           35,
           60,
           79,
           54,
           16,
           50,
           61,
           26,
           6,
           57,
           7,
           32,
           73,
           52,
           20,
           63,
           44,
           49,
           48,
           15,
           68,
           80,
           62,
           27,
           56,
           11,
           74,
           51,
           1,
           30,
           17,
           45,
           37,
           72,
           21,
           69,
           77,
           31,
           39,
           36,
           64,
           18,
           40,
           76,
           65,
           29,
           59,
           9,
           4,
           41,
           14,
           55,
           25,
           0,
           12,
           19,
           83,
           60,
           79,
           54,
           16,
           50,
           61,
           26,
           6,
           57,
           7,
           32,
           73,
           52,
           20,
           68,
           80,
           56,
           11,
           51,
           1,
           17,
           45,
           37,
           72,
           21,
           69,
           77,
           31,
           39,
           36,
           64,
           18,
           40,
           76,
           46,
           65,
           29,
           59,
           75,
           9,
           4,
           41,
           14,
           55,
           25,
           0,
           12,
           19,
           83,
           35,
           60,
           79,
           54,
           16,
           50,
           61,
           26,
           6,
           57,
           7,
           32,
           73,
           52,
           20,
           63,
           44,
           49,
           48,
           15,
           68,
           80,
           62,
           27,
           56,
           11,
           74,
           51,
           1,
           30,
           17,
           45,
           37,
           72,
           21,
           69,
           77,
           31,
           39,
           36,
           64,
           18,
           40,
           76,
           46,
           65,
           29,
           59,
           75,
           9,
           4,
           41,
           14,
           55,
           25,
           0,
           12,
           19,
           83,
           35,
           60,
           79,
           54,
           16,
           50,
           61,
           26,
           6,
           57,
           7,
           32,
           73,
           52,
           20,
           63,
           44,
           49,
           48,
           15,
           68,
           80,
           62,
           27,
           56,
           11,
           74,
           51,
           1,
           30,
           17,
           45,
           37,
           72,
           21,
           69,
           77,
           31,
           39,
           36,
           64,
           18,
           40,
           76,
           46,
           65,
           29,
           59,
           75,
           9,
           4,
           41,
           14,
           55,
           25,
           0,
           12,
           19,
           83,
           35,
           60,
           79,
           54,
           16,
           50,
           61,
           26,
           6,
           57,
           7,
           32,
           73,
           52,
           20,
           63,
           44,
           49,
           48,
           15,
           68,
           80,
           62,
           27,
           56,
           11,
           74,
           51,
           1,
           30,
           17,
           45,
           37,
           72,
           21,
           69,
           77,
           31,
           39,
           36,
           64,
           18,
           40,
           76,
           46,
           65,
           29,
           59,
           75,
           9,
           4,
           41,
           14,
           55,
           25,
           0,
           12,
           19,
           83,
           35,
           60,
           79,
           54,
           16,
           50,
           61,
           26,
           6,
           57,
           7,
           32,
           73,
           52,
           20,
           63,
           44,
           49,
           48,
           15,
           68,
           80,
           62,
           27,
           56,
           11,
           74,
           51,
           1,
           30,
           17,
           45,
           37,
           72,
           21,
           69,
           77,
           31,
           39,
           36,
           64,
           18,
           40,
           76,
           46,
           65,
           29,
           59,
           75,
           9,
           4,
           41,
           14,
           55,
           25,
           0,
           12,
           19,
           83,
           35,
           60,
           79,
           54,
           16,
           50,
           61,
           26,
           6,
           57,
           7,
           32,
           73,
           52,
           20,
           63,
           44,
           49,
           48,
           15,
           68,
           80,
           62,
           27,
           56,
           11,
           74,
           51,
           1,
           30,
           17,
           45,
           37,
           72,
           21,
           69,
           77,
           31,
           39,
           36,
           64,
           18,
           40,
           76,
           46,
           65,
           29,
           59,
           75,
           9,
           4,
           41,
           14,
           55,
           25,
           0,
           12,
           19,
           83,
           35,
           60,
           79,
           54,
           16,
           50,
           61,
           26,
           6,
           57,
           7,
           32,
           73,
           52,
           20,
           63,
           44,
           49,
           48,
           15,
           68,
           80,
           62,
           27,
           56,
           11,
           74,
           51,
           1,
           30,
           17,
           45,
           37,
           72,
           21,
           69,
           77,
           31,
           39,
           36,
           64,
           18,
           40,
           76,
           46,
           65,
           29,
           59,
           75,
           9,
           4,
           41,
           14,
           55,
           25,
           0,
           12,
           19,
           83,
           35,
           60,
           79,
           54,
           16,
           50,
           61,
           26,
           6,
           57,
           7,
           32,
           73,
           52,
           20,
           63,
           44,
           49,
           48,
           15,
           68,
           80,
           62,
           27,
           56,
           11,
           74,
           1,
           30,
           17,
           45,
           37,
           72,
           21,
           69,
           77,
           31,
           39,
           36,
           64,
           18,
           40,
           76,
           46,
           65,
           29,
           59,
           75,
           9,
           4,
           41,
           14,
           55,
           25,
           0,
           12,
           19,
           83,
           35,
           60,
           79,
           54,
           16,
           50,
           61,
           26,
           6,
           57,
           7,
           32,
           73,
           52,
           20,
           63,
           44,
           49,
           48,
           15,
           68,
           80,
           62,
           27,
           56,
           11,
           74,
           51,
           1,
           30,
           17,
           45,
           37,
           72,
           21,
           69,
           77,
           31,
           39,
           36,
           64,
           18,
           40,
           76,
           46,
           65,
           29,
           59,
           75,
           9,
           4,
           41,
           14,
           55,
           25,
           0,
           12,
           19,
           83,
           35,
           60,
           79,
           54,
           16,
           50,
           61,
           26,
           6,
           57,
           7,
           32,
           73,
           52,
           20,
           63,
           44,
           49,
           48,
           15,
           68,
           80,
           62,
           27,
           56,
           11,
           74,
           51,
           1,
           30,
           17,
           45,
           37,
           72,
           21,
           69,
           77,
           31,
           39,
           36,
           64,
           18,
           40,
           76,
           46,
           65,
           29,
           59,
           75,
           9,
           4,
           41,
           14,
           25,
           0,
           12,
           19,
           83,
           35,
           60,
           79,
           54,
           16,
           50,
           61,
           26,
           6,
           57,
           7,
           32,
           73,
           52,
           20,
           63,
           44,
           49,
           48,
           15,
           68,
           80,
           62,
           27,
           56,
           11,
           74,
           51,
           1,
           30,
           17,
           45,
           37,
           72,
           21,
           69,
           77,
           31,
           39,
           36,
           64,
           18,
           40,
           76,
           46,
           65,
           29,
           59,
           75,
           9,
           4,
           41,
           14,
           55,
           25,
           0,
           12,
           19,
           83,
           35,
           60,
           79,
           54,
           16,
           50,
           61,
           26,
           6,
           57,
           7,
           32,
           73,
           52,
           20,
           63,
           44,
           49,
           48,
           15,
           68,
           80,
           62,
           27,
           56,
           11,
           74,
           51,
           1,
           30,
           17,
           45,
           37,
           72,
           21,
           69,
           77,
           31,
           39,
           36,
           64,
           18,
           40,
           76,
           46,
           65,
           29,
           59,
           75,
           9,
           4,
           41,
           14,
           55,
           25,
           0,
           12,
           19,
           83,
           35,
           60,
           79,
           54,
           16,
           50,
           61,
           26,
           6,
           57,
           7,
           32,
           73,
           52,
           20,
           63,
           44,
           49,
           48,
           15,
           68,
           80,
           62,
           27,
           56,
           11,
           74,
           51,
           1,
           30,
           17,
           45,
           37,
           72,
           21,
           69,
           77,
           31,
           39,
           36,
           64,
           18,
           40,
           29,
           59,
           75,
           9,
           4,
           41,
           14,
           55,
           25,
           0,
           12,
           19,
           83,
           35,
           79,
           54,
           16,
           50,
           61,
           26,
           6,
           57,
           7,
           32,
           73,
           52,
           20,
           63,
           44,
           48,
           15,
           68,
           80,
           62,
           56,
           11,
           74,
           51,
           1,
           30,
           17,
           45,
           37,
           72,
           21,
           69,
           77,
           31,
           39,
           36,
           64,
           18,
           40,
           76,
           46,
           65,
           29,
           59,
           75,
           9,
           4,
           41,
           14,
           55,
           25,
           0,
           12,
           19,
           83,
           35,
           60,
           79,
           54,
           16,
           50,
           61,
           26,
           6,
           57,
           7,
           32,
           73,
           52,
           20,
           63,
           44,
           49,
           48,
           15,
           68,
           80,
           62,
           27,
           56,
           11,
           74,
           51,
           1,
           30,
           17,
           45,
           37,
           72,
           21,
           69,
           77,
           31,
           39,
           36,
           64,
           18,
           40,
           76,
           46,
           65,
           29,
           59,
           75,
           9,
           4,
           41,
           14,
           55,
           25,
           0,
           12,
           19,
           83,
           35,
           60,
           79,
           54,
           16,
           50,
           61,
           26,
           6,
           57,
           7,
           32,
           73,
           52,
           20,
           63,
           44,
           49,
           48,
           15,
           68,
           80,
           62,
           27,
           56,
           11,
           74,
           51,
           1,
           30,
           17,
           45,
           37,
           72,
           21,
           69,
           77,
           31,
           39,
           36,
           64,
           18,
           40,
           29,
           59,
           75,
           9,
           4,
           41,
           14,
           55,
           25,
           0,
           12,
           19,
           83,
           35,
           60,
           79,
           54,
           16,
           50,
           61,
           26,
           6,
           57,
           7,
           32,
           73,
           52,
           20,
           63,
           44,
           48,
           15,
           68,
           80,
           62,
           27,
           56,
           11,
           74,
           51,
           1,
           30,
           17,
           45,
           37,
           72,
           21,
           69,
           77,
           31,
           39,
           36,
           64,
           18,
           40,
           76,
           46,
           65,
           29,
           59,
           75,
           9,
           4,
           41,
           14,
           55,
           25,
           0,
           12,
           19,
           83,
           35,
           60,
           79,
           54,
           16,
           50,
           61,
           26,
           6,
           57,
           7,
           32,
           73,
           52,
           20,
           63,
           44,
           49,
           48,
           15,
           68,
           80,
           62,
           27,
           56,
           11,
           74,
           51,
           1,
           30,
           17,
           45,
           37,
           72,
           21,
           69,
           77,
           31,
           39,
           36,
           64,
           18,
           40,
           76,
           46,
           65,
           29,
           59,
           75,
           9,
           4,
           41,
           14,
           55,
           25,
           0,
           12,
           19,
           83,
           35,
           60,
           79,
           54,
           16,
           50,
           61,
           26,
           6,
           57,
           7,
           32,
           73,
           52,
           20,
           63,
           44,
           49,
           48,
           15,
           68,
           80,
           62,
           27,
           56,
           11,
           74,
           51,
           1,
           30,
           17,
           45,
           37,
           72,
           21,
           69,
           77,
           31,
           39,
           36,
           64,
           18,
           40,
           76,
           46,
           65,
           29,
           59,
           75,
           9,
           4,
           41,
           14,
           55,
           25,
           0,
           12,
           19,
           83,
           35,
           60,
           79,
           54,
           16,
           50,
           61,
           26,
           6,
           57,
           7,
           32,
           73,
           52,
           20,
           63,
           44,
           49,
           48,
           15,
           68,
           80,
           62,
           27,
           56,
           11,
           74,
           51,
           1,
           30,
           17,
           45,
           37,
           72,
           21,
           69,
           77,
           31,
           39,
           36,
           64,
           18,
           76,
           29,
           59,
           25,
           0,
           12,
           19,
           83,
           35,
           60,
           79,
           54,
           16,
           61,
           26,
           6,
           57,
           7,
           32,
           73,
           52,
           63,
           44,
           49,
           15,
           68,
           80,
           62,
           27,
           56,
           11,
           1,
           21,
           18,
           45
          ],
          "value": {
           "bdata": "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",
           "dtype": "f8"
          }
         },
         "node": {
          "color": "steelblue",
          "label": [
           "印刷业和记录媒介的复制业_i",
           "信息传输、软件和信息技术服务业_i",
           "汽车制造业_p",
           "广播、电视、电影、音像、新闻出版业_p",
           "纺织服装、鞋、帽制造业_i",
           "商务服务业_p",
           "专用设备制造业_i",
           "铁路船舶及其他交通运输设备制造业_i",
           "木材加工及木、竹、藤、棕、草制品业_p",
           "纺织业_i",
           "建筑业_p",
           "仓储业_i",
           "文教体育用品及其他制造业_i",
           "仓储业_p",
           "木材加工及木、竹、藤、棕、草制品业_i",
           "批发零售业_i",
           "黑色金属冶炼及压延加工业_i",
           "房地产业_i",
           "公共管理和社会组织_i",
           "石油加工、炼焦及核燃料加工业_i",
           "废品废料_i",
           "水利、环境、公共设施管理业_i",
           "批发零售业_p",
           "文教体育用品及其他制造业_p",
           "专用设备制造业_p",
           "造纸及纸制品业_i",
           "通用设备制造业_i",
           "航空运输业_i",
           "纺织服装、鞋、帽制造业_p",
           "农副食品加工与食品制造业_i",
           "银行业、证券业、保险和其他金融活动_i",
           "卫生_i",
           "电气机械及器材制造业_i",
           "航空运输业_p",
           "道路运输业_p",
           "医药制造业_i",
           "广播、电视、电影、音像、新闻出版业_i",
           "商务服务业_i",
           "电气机械及器材制造业_p",
           "社会保障和福利_i",
           "农林牧渔业_i",
           "皮革、毛皮、羽毛（绒）及其制品业_i",
           "通用设备制造业_p",
           "铁路运输业_p",
           "燃气生产和供应业_i",
           "租赁业_i",
           "金属矿采选业_i",
           "水上运输业_p",
           "建筑业_i",
           "水的生产和供应业_i",
           "有色金属冶炼及压延加工业_i",
           "餐饮业_i",
           "仪器仪表制造业_i",
           "铁路船舶及其他交通运输设备制造业_p",
           "非金属矿物制品业_i",
           "家具制造业_i",
           "装卸搬运和其他运输服务业_i",
           "汽车制造业_i",
           "信息传输、软件和信息技术服务业_p",
           "酒、饮料和精制茶制造业_i",
           "化学纤维制造业_i",
           "金属制品业_i",
           "水上运输业_i",
           "电力、热力的生产和供应业_i",
           "文化艺术、体育、娱乐业_i",
           "非金属矿及其他矿采选业_i",
           "仪器仪表制造业_p",
           "农林牧渔业_p",
           "铁路运输业_i",
           "居民服务、修理和其他服务业_i",
           "纺织业_p",
           "计算机、通信和其他电子设备制造业_p",
           "科学研究、技术服务和地质勘查业_i",
           "计算机、通信和其他电子设备制造业_i",
           "住宿业_i",
           "烟草制品业_i",
           "煤炭、石油和天然气开采业_i",
           "教育_i",
           "金属制品业_p",
           "橡胶和塑料制品业_i",
           "道路运输业_i",
           "装卸搬运和其他运输服务业_p",
           "家具制造业_p",
           "化学原料及化学制品制造业_i"
          ],
          "line": {
           "width": 0.5
          },
          "pad": 15,
          "thickness": 20
         },
         "type": "sankey"
        }
       ],
       "layout": {
        "font": {
         "size": 12
        },
        "height": 700,
        "margin": {
         "b": 50,
         "l": 50,
         "r": 50,
         "t": 50
        },
        "template": {
         "data": {
          "bar": [
           {
            "error_x": {
             "color": "#2a3f5f"
            },
            "error_y": {
             "color": "#2a3f5f"
            },
            "marker": {
             "line": {
              "color": "#E5ECF6",
              "width": 0.5
             },
             "pattern": {
              "fillmode": "overlay",
              "size": 10,
              "solidity": 0.2
             }
            },
            "type": "bar"
           }
          ],
          "barpolar": [
           {
            "marker": {
             "line": {
              "color": "#E5ECF6",
              "width": 0.5
             },
             "pattern": {
              "fillmode": "overlay",
              "size": 10,
              "solidity": 0.2
             }
            },
            "type": "barpolar"
           }
          ],
          "carpet": [
           {
            "aaxis": {
             "endlinecolor": "#2a3f5f",
             "gridcolor": "white",
             "linecolor": "white",
             "minorgridcolor": "white",
             "startlinecolor": "#2a3f5f"
            },
            "baxis": {
             "endlinecolor": "#2a3f5f",
             "gridcolor": "white",
             "linecolor": "white",
             "minorgridcolor": "white",
             "startlinecolor": "#2a3f5f"
            },
            "type": "carpet"
           }
          ],
          "choropleth": [
           {
            "colorbar": {
             "outlinewidth": 0,
             "ticks": ""
            },
            "type": "choropleth"
           }
          ],
          "contour": [
           {
            "colorbar": {
             "outlinewidth": 0,
             "ticks": ""
            },
            "colorscale": [
             [
              0,
              "#0d0887"
             ],
             [
              0.1111111111111111,
              "#46039f"
             ],
             [
              0.2222222222222222,
              "#7201a8"
             ],
             [
              0.3333333333333333,
              "#9c179e"
             ],
             [
              0.4444444444444444,
              "#bd3786"
             ],
             [
              0.5555555555555556,
              "#d8576b"
             ],
             [
              0.6666666666666666,
              "#ed7953"
             ],
             [
              0.7777777777777778,
              "#fb9f3a"
             ],
             [
              0.8888888888888888,
              "#fdca26"
             ],
             [
              1,
              "#f0f921"
             ]
            ],
            "type": "contour"
           }
          ],
          "contourcarpet": [
           {
            "colorbar": {
             "outlinewidth": 0,
             "ticks": ""
            },
            "type": "contourcarpet"
           }
          ],
          "heatmap": [
           {
            "colorbar": {
             "outlinewidth": 0,
             "ticks": ""
            },
            "colorscale": [
             [
              0,
              "#0d0887"
             ],
             [
              0.1111111111111111,
              "#46039f"
             ],
             [
              0.2222222222222222,
              "#7201a8"
             ],
             [
              0.3333333333333333,
              "#9c179e"
             ],
             [
              0.4444444444444444,
              "#bd3786"
             ],
             [
              0.5555555555555556,
              "#d8576b"
             ],
             [
              0.6666666666666666,
              "#ed7953"
             ],
             [
              0.7777777777777778,
              "#fb9f3a"
             ],
             [
              0.8888888888888888,
              "#fdca26"
             ],
             [
              1,
              "#f0f921"
             ]
            ],
            "type": "heatmap"
           }
          ],
          "histogram": [
           {
            "marker": {
             "pattern": {
              "fillmode": "overlay",
              "size": 10,
              "solidity": 0.2
             }
            },
            "type": "histogram"
           }
          ],
          "histogram2d": [
           {
            "colorbar": {
             "outlinewidth": 0,
             "ticks": ""
            },
            "colorscale": [
             [
              0,
              "#0d0887"
             ],
             [
              0.1111111111111111,
              "#46039f"
             ],
             [
              0.2222222222222222,
              "#7201a8"
             ],
             [
              0.3333333333333333,
              "#9c179e"
             ],
             [
              0.4444444444444444,
              "#bd3786"
             ],
             [
              0.5555555555555556,
              "#d8576b"
             ],
             [
              0.6666666666666666,
              "#ed7953"
             ],
             [
              0.7777777777777778,
              "#fb9f3a"
             ],
             [
              0.8888888888888888,
              "#fdca26"
             ],
             [
              1,
              "#f0f921"
             ]
            ],
            "type": "histogram2d"
           }
          ],
          "histogram2dcontour": [
           {
            "colorbar": {
             "outlinewidth": 0,
             "ticks": ""
            },
            "colorscale": [
             [
              0,
              "#0d0887"
             ],
             [
              0.1111111111111111,
              "#46039f"
             ],
             [
              0.2222222222222222,
              "#7201a8"
             ],
             [
              0.3333333333333333,
              "#9c179e"
             ],
             [
              0.4444444444444444,
              "#bd3786"
             ],
             [
              0.5555555555555556,
              "#d8576b"
             ],
             [
              0.6666666666666666,
              "#ed7953"
             ],
             [
              0.7777777777777778,
              "#fb9f3a"
             ],
             [
              0.8888888888888888,
              "#fdca26"
             ],
             [
              1,
              "#f0f921"
             ]
            ],
            "type": "histogram2dcontour"
           }
          ],
          "mesh3d": [
           {
            "colorbar": {
             "outlinewidth": 0,
             "ticks": ""
            },
            "type": "mesh3d"
           }
          ],
          "parcoords": [
           {
            "line": {
             "colorbar": {
              "outlinewidth": 0,
              "ticks": ""
             }
            },
            "type": "parcoords"
           }
          ],
          "pie": [
           {
            "automargin": true,
            "type": "pie"
           }
          ],
          "scatter": [
           {
            "fillpattern": {
             "fillmode": "overlay",
             "size": 10,
             "solidity": 0.2
            },
            "type": "scatter"
           }
          ],
          "scatter3d": [
           {
            "line": {
             "colorbar": {
              "outlinewidth": 0,
              "ticks": ""
             }
            },
            "marker": {
             "colorbar": {
              "outlinewidth": 0,
              "ticks": ""
             }
            },
            "type": "scatter3d"
           }
          ],
          "scattercarpet": [
           {
            "marker": {
             "colorbar": {
              "outlinewidth": 0,
              "ticks": ""
             }
            },
            "type": "scattercarpet"
           }
          ],
          "scattergeo": [
           {
            "marker": {
             "colorbar": {
              "outlinewidth": 0,
              "ticks": ""
             }
            },
            "type": "scattergeo"
           }
          ],
          "scattergl": [
           {
            "marker": {
             "colorbar": {
              "outlinewidth": 0,
              "ticks": ""
             }
            },
            "type": "scattergl"
           }
          ],
          "scattermap": [
           {
            "marker": {
             "colorbar": {
              "outlinewidth": 0,
              "ticks": ""
             }
            },
            "type": "scattermap"
           }
          ],
          "scattermapbox": [
           {
            "marker": {
             "colorbar": {
              "outlinewidth": 0,
              "ticks": ""
             }
            },
            "type": "scattermapbox"
           }
          ],
          "scatterpolar": [
           {
            "marker": {
             "colorbar": {
              "outlinewidth": 0,
              "ticks": ""
             }
            },
            "type": "scatterpolar"
           }
          ],
          "scatterpolargl": [
           {
            "marker": {
             "colorbar": {
              "outlinewidth": 0,
              "ticks": ""
             }
            },
            "type": "scatterpolargl"
           }
          ],
          "scatterternary": [
           {
            "marker": {
             "colorbar": {
              "outlinewidth": 0,
              "ticks": ""
             }
            },
            "type": "scatterternary"
           }
          ],
          "surface": [
           {
            "colorbar": {
             "outlinewidth": 0,
             "ticks": ""
            },
            "colorscale": [
             [
              0,
              "#0d0887"
             ],
             [
              0.1111111111111111,
              "#46039f"
             ],
             [
              0.2222222222222222,
              "#7201a8"
             ],
             [
              0.3333333333333333,
              "#9c179e"
             ],
             [
              0.4444444444444444,
              "#bd3786"
             ],
             [
              0.5555555555555556,
              "#d8576b"
             ],
             [
              0.6666666666666666,
              "#ed7953"
             ],
             [
              0.7777777777777778,
              "#fb9f3a"
             ],
             [
              0.8888888888888888,
              "#fdca26"
             ],
             [
              1,
              "#f0f921"
             ]
            ],
            "type": "surface"
           }
          ],
          "table": [
           {
            "cells": {
             "fill": {
              "color": "#EBF0F8"
             },
             "line": {
              "color": "white"
             }
            },
            "header": {
             "fill": {
              "color": "#C8D4E3"
             },
             "line": {
              "color": "white"
             }
            },
            "type": "table"
           }
          ]
         },
         "layout": {
          "annotationdefaults": {
           "arrowcolor": "#2a3f5f",
           "arrowhead": 0,
           "arrowwidth": 1
          },
          "autotypenumbers": "strict",
          "coloraxis": {
           "colorbar": {
            "outlinewidth": 0,
            "ticks": ""
           }
          },
          "colorscale": {
           "diverging": [
            [
             0,
             "#8e0152"
            ],
            [
             0.1,
             "#c51b7d"
            ],
            [
             0.2,
             "#de77ae"
            ],
            [
             0.3,
             "#f1b6da"
            ],
            [
             0.4,
             "#fde0ef"
            ],
            [
             0.5,
             "#f7f7f7"
            ],
            [
             0.6,
             "#e6f5d0"
            ],
            [
             0.7,
             "#b8e186"
            ],
            [
             0.8,
             "#7fbc41"
            ],
            [
             0.9,
             "#4d9221"
            ],
            [
             1,
             "#276419"
            ]
           ],
           "sequential": [
            [
             0,
             "#0d0887"
            ],
            [
             0.1111111111111111,
             "#46039f"
            ],
            [
             0.2222222222222222,
             "#7201a8"
            ],
            [
             0.3333333333333333,
             "#9c179e"
            ],
            [
             0.4444444444444444,
             "#bd3786"
            ],
            [
             0.5555555555555556,
             "#d8576b"
            ],
            [
             0.6666666666666666,
             "#ed7953"
            ],
            [
             0.7777777777777778,
             "#fb9f3a"
            ],
            [
             0.8888888888888888,
             "#fdca26"
            ],
            [
             1,
             "#f0f921"
            ]
           ],
           "sequentialminus": [
            [
             0,
             "#0d0887"
            ],
            [
             0.1111111111111111,
             "#46039f"
            ],
            [
             0.2222222222222222,
             "#7201a8"
            ],
            [
             0.3333333333333333,
             "#9c179e"
            ],
            [
             0.4444444444444444,
             "#bd3786"
            ],
            [
             0.5555555555555556,
             "#d8576b"
            ],
            [
             0.6666666666666666,
             "#ed7953"
            ],
            [
             0.7777777777777778,
             "#fb9f3a"
            ],
            [
             0.8888888888888888,
             "#fdca26"
            ],
            [
             1,
             "#f0f921"
            ]
           ]
          },
          "colorway": [
           "#636efa",
           "#EF553B",
           "#00cc96",
           "#ab63fa",
           "#FFA15A",
           "#19d3f3",
           "#FF6692",
           "#B6E880",
           "#FF97FF",
           "#FECB52"
          ],
          "font": {
           "color": "#2a3f5f"
          },
          "geo": {
           "bgcolor": "white",
           "lakecolor": "white",
           "landcolor": "#E5ECF6",
           "showlakes": true,
           "showland": true,
           "subunitcolor": "white"
          },
          "hoverlabel": {
           "align": "left"
          },
          "hovermode": "closest",
          "mapbox": {
           "style": "light"
          },
          "paper_bgcolor": "white",
          "plot_bgcolor": "#E5ECF6",
          "polar": {
           "angularaxis": {
            "gridcolor": "white",
            "linecolor": "white",
            "ticks": ""
           },
           "bgcolor": "#E5ECF6",
           "radialaxis": {
            "gridcolor": "white",
            "linecolor": "white",
            "ticks": ""
           }
          },
          "scene": {
           "xaxis": {
            "backgroundcolor": "#E5ECF6",
            "gridcolor": "white",
            "gridwidth": 2,
            "linecolor": "white",
            "showbackground": true,
            "ticks": "",
            "zerolinecolor": "white"
           },
           "yaxis": {
            "backgroundcolor": "#E5ECF6",
            "gridcolor": "white",
            "gridwidth": 2,
            "linecolor": "white",
            "showbackground": true,
            "ticks": "",
            "zerolinecolor": "white"
           },
           "zaxis": {
            "backgroundcolor": "#E5ECF6",
            "gridcolor": "white",
            "gridwidth": 2,
            "linecolor": "white",
            "showbackground": true,
            "ticks": "",
            "zerolinecolor": "white"
           }
          },
          "shapedefaults": {
           "line": {
            "color": "#2a3f5f"
           }
          },
          "ternary": {
           "aaxis": {
            "gridcolor": "white",
            "linecolor": "white",
            "ticks": ""
           },
           "baxis": {
            "gridcolor": "white",
            "linecolor": "white",
            "ticks": ""
           },
           "bgcolor": "#E5ECF6",
           "caxis": {
            "gridcolor": "white",
            "linecolor": "white",
            "ticks": ""
           }
          },
          "title": {
           "x": 0.05
          },
          "xaxis": {
           "automargin": true,
           "gridcolor": "white",
           "linecolor": "white",
           "ticks": "",
           "title": {
            "standoff": 15
           },
           "zerolinecolor": "white",
           "zerolinewidth": 2
          },
          "yaxis": {
           "automargin": true,
           "gridcolor": "white",
           "linecolor": "white",
           "ticks": "",
           "title": {
            "standoff": 15
           },
           "zerolinecolor": "white",
           "zerolinewidth": 2
          }
         }
        },
        "title": {
         "text": "日本2011投资矩阵(左：投资品供给->右：各部门投资需求)"
        },
        "width": 1000
       }
      }
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plot_sankey(\n",
    "    extract_sankey_data(\n",
    "        load_data('./data/投资矩阵/日本2011投资矩阵cn.xlsx')\n",
    "        ), \n",
    "    '日本2011投资矩阵(左：投资品供给->右：各部门投资需求)'\n",
    "    )"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": ".venv",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.11.11"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
